A comprehensive full-stack personal finance tracking and forecasting application. This platform allows users to manage their income and expenses, visualize their financial health through interactive analytics, and receive spending forecasts from a hand-written linear regression.
The platform follows a modern client-server architecture, ensuring scalability and separation of concerns.
- React (Vite): For a fast, responsive user interface.
- Tailwind CSS: For modern, utility-first styling.
- Recharts: For interactive financial data visualization.
- Axios: For seamless API communication with the backend.
- Flask (Python): A lightweight and powerful web framework.
- SQLAlchemy: ORM for database management.
- JWT (JSON Web Tokens): Secure, stateless authentication.
- Pure Python Analytics: Hand-written linear regression for financial forecasting (no heavy dependencies like pandas or scikit-learn).
- SQLite: A robust, serverless database for efficient data storage.
Get a high-level view of your total income, expenses, and current balance.

Add, edit, and categorize your transactions with ease. Supports bulk upload via CSV.

Visualize your spending habits with category breakdowns and monthly trends.

Receive forecasts for next month's spending based on your historical data.

JWT-based login and registration system to keep your financial data private.

- Python 3.8+
- Node.js 18+
- Navigate to the backend directory:
cd backend - Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Initialize the database:
python init_db.py
- Run the server:
The backend will start on
python app.py
http://localhost:5000.
- Navigate to the frontend directory:
cd frontend - Install dependencies:
npm install
- Run the development server:
The frontend will start on
npm run dev
http://localhost:5173.
The project includes a test suite for the backend:
cd backend
pytestTests cover authentication, transaction logic, analytics generation, and forecasting accuracy.
| Category | Endpoint | Method | Description |
|---|---|---|---|
| Auth | /auth/register |
POST |
Create a new account |
| Auth | /auth/login |
POST |
Authenticate and receive JWT |
| Transactions | /transactions |
GET/POST |
List or create transactions |
| Analytics | /analytics/summary |
GET |
Overall financial summary |
| Predictions | /predictions/monthly-forecast |
GET |
Hand-written linear-regression spending forecast |
This project is open-source and available under the MIT License.
