MyCashbook
Cashbook - Personal Finance Manager

CashBook is a comprehensive and secure personal finance management application built with Flutter. It helps users track their income, expenses, and debts across multiple "books," providing a clear overview of their financial health. Designed for ease of use and portability, CashBook features multi-device sync and flexible export options.
🚀 Features#
Core Management#
- Multi-Book Support: Manage business and personal expenses separately by creating multiple cashbooks.
- Transaction Tracking: Easily record income and expense entries with categories and payment modes.
- Category Management: Organize transactions with customizable categories and vibrant icons.
- Debt & Credit Tracking: Keep track of money owed by or to contacts (Customer/Supplier).
Advanced Functionality#
- Multi-Device Sync: Synchronize your data across devices using Google Drive backup.
- PDF & Excel Exports: Generate professional reports of your transactions for accounting or personal records.
- Biometric Security: Protect your financial data with fingerprint or face unlock.
- Real-time Search: Quickly find transactions or contacts using the powerful built-in search.
- Rich Visualizations: Gain insights into your spending habits with intuitive charts and reports.
User Experience#
- Dark & Light Mode: A beautiful, adaptive UI that respects your system preferences.
- Localization Support: Built-in support for multiple date and currency formats.
- Offline First: Works perfectly without an internet connection, syncing when you're back online.
🛠 Tech Stack#
- Framework: Flutter
- State Management: Provider
- Database: Drift (High-performance reactive SQLite wrapper)
- Navigation: GoRouter
- Authentication: Firebase Auth & Google Sign-In
- Local Auth: Biometric authentication via
local_auth - Cloud Sync: Google Drive API integration
- Reporting:
pdfandexcellibraries
🏗 Architecture#
The project follows a clean MVVM (Model-View-ViewModel) architecture:
- Data Layer: Handles local database (Drift), external APIs, and repositories.
- Domain Layer: Contains business logic and core data models.
- View-Model Layer: Manages UI state and business logic using Providers.
- UI Layer: Built with Material Design, focusing on responsiveness and accessibility.
📂 Project Structure#
lib/
├── src/
│ ├── data/ # Database tables, DAOs, and Repositories
│ ├── ui/ # Screens, Widgets, and ViewModels (grouped by feature)
│ ├── config/ # App constants, themes, and configuration
│ ├── routing/ # GoRouter navigation logic
│ ├── utils/ # Helper functions and extensions
│ └── domain/ # Core entities and logic
└── main.dart # Application entry point🏁 Getting Started#
Prerequisites#
- Flutter SDK (v3.10.4 or higher)
- Android Studio / VS Code
- CocoaPods (for iOS development)
Setup#
-
Clone the repository
git clone https://github.com/mixin27/cashbook_app.git cd cashbook_app -
Install dependencies
flutter pub get -
Generate database code
flutter pub run build_runner build --delete-conflicting-outputs -
Run the app
flutter run
🏗 Development Status#
[!NOTE] This project is currently under active development. Some features listed above may be in the final stages of implementation or refinement.
📄 License#
This project is licensed under the MIT License - see the LICENSE file for details.
Related Projects

Collectra: Collection Tracker
Catalog collections, track value, tags, loans, and backups in one app.

Myanmar Calendar
A modern Myanmar calendar app with calendar views, astrology, events, conversion tools, and printable calendar generation.

FinWallet
A modern finance wallet application with beautiful UI/UX