CashJournal is a simple personal finance tracker designed to help users manage income and expenses in one place. It combines a Flask backend with a React frontend to provide a clean, responsive experience for everyday budgeting.
- Add, edit, and remove income and expense entries
- Categorize transactions for better financial tracking
- View an overview of your current balance
- Clean and responsive UI
- Fast development workflow for local use
- Backend: Python, Flask
- Frontend: React, JavaScript, CSS
- Deployment: Procfile-ready for hosting platforms like Heroku
CashJournal/
├── cashjournal/
│ ├── __init__.py
│ ├── __main__.py
│ └── routes.py
├── frontend/
│ ├── public/
│ ├── src/
│ ├── package.json
│ └── README.md
├── Procfile
├── setup.py
├── LICENSE.md
└── README.md
Make sure you have the following installed:
- Python 3.9+
- Node.js 16+
- npm or yarn
git clone <your-repo-url>
cd CashJournalpython3 -m venv venv
source venv/bin/activate
pip install -e .cd frontend
npm installFrom the project root:
python -m cashjournalThe backend will run on:
http://localhost:5000
From the frontend directory:
npm startThe frontend will run on:
http://localhost:3000
To create a production build of the frontend:
cd frontend
npm run buildThis project includes a Procfile, making it suitable for deployment platforms such as Heroku or similar services. Make sure your deployment platform is configured to run the Flask application correctly.
Contributions are welcome. If you would like to improve CashJournal:
- Fork the repository
- Create a feature branch
- Commit your changes
- Open a pull request
This project is licensed under the MIT License. See the LICENSE.md file for details.