How alvix11/expense-tracker-cli works
Expense Tracker is a command-line application for creating, editing, deleting, listing, and summarizing expenses. The main workflow parses a command, dispatches it to the expense manager, and reads or updates JSON-backed records; add and update also obtain the current date and validate input. Listing and summaries display results in the terminal. The README documents monthly and general summaries, both implemented in the manager. The tree names the JSON file as expense.json, while the source configures its path as a relative filename; storage wiring is shown at that level.
Main entry points: expense_manager.py Expense manager · expense_tracker.py CLI entry point · helpers.py Expense file access · utils.py JSON operations
Components 10
Command line
- CLI entry point
expense_tracker.py - Command parser
settings.py
Expense management
- Expense manager
expense_manager.py
Persistence and support
- Input validation
helpers.py - Expense file access
helpers.py - Date handling
utils.py - JSON operations
utils.py
Other components
- CLI user
- Expense JSON
- Terminal output
Connections 10
- CLI user → CLI entry point: runs commands
- CLI entry point → Command parser: parses arguments
- CLI entry point → Expense manager: dispatches command
- Expense manager → Input validation: validates input
- Expense manager → Date handling: gets date
- Expense manager → Expense file access: loads and saves
- Expense file access → JSON operations: reads and writes
- JSON operations → Expense JSON: accesses JSON
- Expense manager → Terminal output: prints results
- Terminal output → CLI user: displays output