Skip to content

kvmil6/CashFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💰 CashFlow

A modern personal finance tracker built with Django. Track income, expenses, and visualize your spending habits with a sleek dark UI.

Python Django Tailwind CSS License

✨ Features

  • 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

🖥 Screenshots

image image image

🛠 Tech Stack

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

🚀 Getting Started

Prerequisites

  • Python 3.10 or higher
  • Git

Installation

# 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 runserver

Open http://127.0.0.1:8000 in your browser.

📁 Project Structure

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

🔑 Key Concepts Demonstrated

  • 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

👤 Author

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors