A modern personal finance tracker built with Django. Track income, expenses, and visualize your spending habits with a sleek dark UI.
- User Authentication — Register, login, logout with Django's built-in auth system
- Transaction Management — Full CRUD for income & expense records
- Categories — Organize transactions with custom categories
- Dashboard — Monthly summaries with income, expenses, and balance at a glance
- Spending Breakdown — See where your money goes with category-based analysis
- Filtering & Search — Find transactions by type, category, or keyword
- CSV Export — Download your transaction history
- Dark UI — Premium glassmorphism design with animations
| Layer | Technology |
|---|---|
| Backend | Python 3.12, Django 5.x |
| Frontend | Django Templates, Tailwind CSS (CDN) |
| Database | SQLite (dev) / PostgreSQL (prod) |
| Charts | Chart.js |
| Auth | Django built-in authentication |
- Python 3.10 or higher
- Git
# Clone the repository
git clone https://github.com/YOUR_USERNAME/cashflow.git
cd cashflow
# Create and activate virtual environment
python -m venv venv
source venv/bin/activate # Mac/Linux
# venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
# Set up environment variables
cp .env.example .env
# Edit .env and add your own SECRET_KEY
# Run database migrations
python manage.py migrate
# Create admin account
python manage.py createsuperuser
# Start the development server
python manage.py runserverOpen http://127.0.0.1:8000 in your browser.
cashflow/
├── cashflow/ # Project configuration
│ ├── settings.py # Django settings
│ ├── urls.py # Root URL routing
│ └── wsgi.py # WSGI entry point
├── accounts/ # User authentication app
│ ├── views.py # Register view
│ └── urls.py # Auth URL patterns
├── transactions/ # Core finance app
│ ├── models.py # Transaction & Category models
│ ├── views.py # CRUD views + dashboard
│ ├── forms.py # Transaction & Category forms
│ └── urls.py # App URL patterns
├── templates/ # HTML templates
│ ├── base.html # Base layout with navbar
│ ├── accounts/ # Login & register pages
│ └── transactions/ # Dashboard, list, forms
├── manage.py
├── requirements.txt
└── .env.example
- Django ORM — Complex queries with aggregation, filtering, and annotation
- Class-based & Function-based Views — Understanding both patterns
- User Authentication — Registration, login, session management
- Form Handling — ModelForms with custom validation and dynamic querysets
- Template Inheritance — DRY templates with block system
- Security — CSRF protection, user-scoped data, login_required decorators
- Database Design — Proper relationships (ForeignKey), cascading deletes
- GitHub: @kamill6