CashMate is a personal finance and budgeting application built with Flutter. It helps users track their income and expenses, manage multiple accounts, and visualize their spending habits through intuitive charts.
Note: This project is currently under active development.
- Transaction Tracking: Easily add income and expenses with notes, dates, and categories.
- Multi-Account Management: Track balances across different accounts (Wallet, Bank, Savings, etc.).
- Visual Analysis: View monthly spending breakdowns using interactive Donut Charts and progress bars (powered by
fl_chart). - Category Management: Organize transactions with custom categories and icons.
- Monthly Records: View transaction history grouped by month.
- Local Storage: All data is stored locally on the device using SQLite, ensuring privacy and offline access.
- Data Export: Export your complete transaction history to CSV for external analysis.
- Framework: Flutter (Dart)
- Database: sqflite (SQLite for local storage)
- State Management:
setState&StatefulWidget(Native) - Charts: fl_chart
- Formatting: intl (Date and currency formatting)
To run this project locally, you need to have Flutter installed on your machine.
-
Clone the repository:
git clone [https://github.com/yourusername/cashmate.git](https://github.com/yourusername/cashmate.git) cd cashmate -
Install dependencies:
flutter pub get
-
Run the app:
flutter run
-
Project structure:
lib/
├── main.dart # Entry point & Navigation (Bottom Bar)
├── models/
│ ├── account.dart # Account data model
│ ├── category.dart # Category data model
│ └── transaction.dart # Transaction data model
├── Pages/
│ ├── accounts_page.dart # Accounts summary screen
│ ├── analysis_page.dart # Charts & spending breakdown
│ ├── categories_page.dart # Category management
│ ├── records_page.dart # Transaction history list
│ └── transaction_page.dart # "Add Transaction" screen
└── utils/
└── database_helper.dart # SQLite database operations
- Add support for multiple currencies.
- Implement data backup/export (CSV/PDF).
- Add dark mode support.
- Set monthly budget limits per category.
Contributions are welcome! Feel free to open an issue or submit a pull request.




