This web application allows users to manage cash flow (income and expenses) with categories, subcategories, types, and statuses. Users can create, view, edit, and delete records, and manage reference data like statuses, types, and categories. Logical dependencies are enforced: subcategories belong to categories, categories belong to types.
- Records Management:
- Fields: Date (auto-filled, editable), Status (Business/Personal/Tax, expandable), Type (Income/Expense, expandable), Category & Subcategory (expandable), Amount, Comment (optional).
- View all records in a table with filters by date, status, type, category, and subcategory.
- Edit and delete any record.
- Reference Management:
- Add/edit/delete statuses, types, categories, and subcategories.
- Enforce logical links: subcategories → categories → types.
- Data Validation:
- Required: amount, type, category, subcategory.
- Validated on client and server sides.
Backend: Python, Django ORM
Database: SQLite
Frontend: Django admin panel
-
Setup virtual environment and install dependencies::
python -m venv venv # Windows venv\Scripts\activate # macOS/Linux source venv/bin/activate pip install -r requirements.txt -
Apply migrations:
python manage.py makemigrations python manage.py migrate -
Create superuser:
python manage.py createsuperuser -
Run the server:
python manage.py runserver -
Access the app http://127.0.0.1:8000/admin/