Project Description
Develop a modular Python application that parses financial entries, calculates spending metrics by category, exports CSV reports, and generates visual text-based spending distribution charts.
Learning Objectives
- Construct a robust expense record model with timestamping and categories.
- Implement CSV export and import capabilities using Python built-in modules.
- Calculate category breakdown percentages and date range aggregations.
- Build visual ASCII distribution charts for terminal display.
Technical Requirements & Specifications
### Project Overview
The **Personal Expense Tracker** teaches financial data manipulation, date-based filtering, and file I/O using Python standard library.
### Core Specifications
1. **Expense Data Record**:
- ID (auto-increment), Date (`YYYY-MM-DD`), Category, Amount (`float`), Description.
2. **Key Capabilities**:
- Log expense entries with automatic date defaults.
- Filter transactions by date range (e.g. Current Month, Last 30 Days).
- Export structured logs to `expenses.csv`.
- Render text-based percentage bar charts.