- Setting / updating a budget
- One-time money addition to the budget
- CRUD operations of an expense(s)
- Categories for expenses
- Retrieving expenses all expenses / expenses with certain category
- Generate summary of all expenses / expenses with certain category
- Analytics (daily, weekly, monthly expenses; share of categories)
- database: JSON file format (It will be transferred to SQLite in the future)
- unit testing: Unittest
- (maybe) GUI: tkinter
- reports: matplot-lib or bokeh