Expense Tracker
A desktop app to record expenses, group them by category (e.g., groceries, transport, utilities), and visualize monthly totals with charts. Data persists locally so users can review past months and export their records.
Phase 1 — Data model & persistence
- SQLite schema:
expensesandcategories - CRUD functions for expenses
- Simple validation (positive amount, valid date/category)
Functional result: The database initializes; adding/listing/updating/deleting sample expenses works and persists across app restarts.
Phase 2 — GUI (Tkinter)
- Window with expense form (date, amount, category, note)
- Table view of expenses with pagination/scroll
- Filters: by month and category
- Edit/delete selected expense; running totals for filtered view
Functional result: User can add/edit/delete expenses and see a filtered, running monthly total in the table.
Phase 3 — Reports & charts
- Monthly summary: total and per-category breakdown
- Charts: pie (share by category) and bar (amount by category)
- Click category to highlight corresponding rows in the table
Functional result: Selecting a month shows accurate totals and renders pie/bar charts reflecting the filtered data.
Phase 4 — Export & Error handling
- Export current filtered data to CSV (filename with month stamp)
- Error handling: concise messages for invalid input or failed export
Functional result: Users export the month’s expenses to CSV format