A simple and elegant Django-based application for tracking your personal income and expenses. Easily manage your financial data, categorize transactions, and analyze trends through a user-friendly dashboard.
- 🔐 Email-based user authentication
- 💼 Manage multiple transaction accounts (e.g., bank, cash, digital wallet)
- 🗂️ Create custom categories for income and expenses
- ➕ Add income and expense transactions with details
- 📊 View a monthly dashboard with basic analytics
- 📁 Export filtered transactions to CSV
- Python 3.11+
- Django 5.1
- django-environ
-
Clone the repository and create a virtual environment:
git clone https://github.com/eddipa/pft.git cd pft python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install the dependencies:
pip install -r requirements.txt
-
Configure environment variables:
cp .env.example .env # Then edit .env to add your local config (e.g., secret key, debug, db settings) -
Apply migrations and create a superuser:
python manage.py migrate python manage.py createsuperuser
-
Run the development server:
python manage.py runserver
-
Visit http://127.0.0.1:8000/ in your browser to start tracking your finances!
personal-finance-tracker/
├── pft/ # Django project configuration
├── accounts/ # User authentication app (custom user model)
├── finance/ # Main finance tracking features
├── templates/ # HTML templates
├── static/ # Static assets (CSS, JS, icons)
└── manage.py
To run the test suite:
python manage.py test- Designed for local use and experimentation.
- Can be extended with bank API integrations, budgeting tools, or investment tracking.
This project is licensed under the MIT License.
© 2024 Masoud Koochak. You are free to use, modify, and distribute this software under the terms of the MIT license.
Pull requests are welcome! For major changes, please open an issue first to discuss what you’d like to change.