|
1 | | -# vent_expense_pro |
| 1 | +# VentExpensePro 📈 |
2 | 2 |
|
3 | | -A new Flutter project. |
| 3 | +**The Analog Digital Ledger** — A lightweight, privacy-first personal finance application built with Flutter. |
4 | 4 |
|
5 | | -## Getting Started |
| 5 | +VentExpensePro combines the simplicity of a paper ledger with the power of modern digital tools. It is designed for users who want total control over their financial data without compromising on aesthetics or ease of use. |
6 | 6 |
|
7 | | -This project is a starting point for a Flutter application. |
| 7 | +--- |
8 | 8 |
|
9 | | -A few resources to get you started if this is your first Flutter project: |
| 9 | +## ✨ Features |
10 | 10 |
|
11 | | -- [Learn Flutter](https://docs.flutter.dev/get-started/learn-flutter) |
12 | | -- [Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) |
13 | | -- [Flutter learning resources](https://docs.flutter.dev/reference/learning-resources) |
| 11 | +### 📒 Smart Ledger |
| 12 | +* **Effortless Logging**: Add transactions in seconds with a streamlined interface. |
| 13 | +* **Categorization**: Organize expenses and income with customizable categories. |
| 14 | +* **Rich Details**: Track dates, notes, and payment methods for every entry. |
14 | 15 |
|
15 | | -For help getting started with Flutter development, view the |
16 | | -[online documentation](https://docs.flutter.dev/), which offers tutorials, |
17 | | -samples, guidance on mobile development, and a full API reference. |
| 16 | +### 🏦 Account Management |
| 17 | +* **Multi-Account Support**: Manage Bank accounts, Cash, Credit Cards, and Wallets in one place. |
| 18 | +* **Net Position**: Instantly view your total financial standing across all accounts. |
| 19 | +* **Credit Settlement**: Specialized workflow for settling credit card bills. |
| 20 | + |
| 21 | +### 📊 Reports & Insights |
| 22 | +* **Visual Analytics**: Understand your spending patterns with dynamic charts (fl_chart). |
| 23 | +* **PDF Export**: Generate professional expense reports for sharing or archival. |
| 24 | +* **Data Filtering**: Drill down into your data by date range or account. |
| 25 | + |
| 26 | +### ☁️ Privacy-First Sync |
| 27 | +* **Google Drive Sync**: Securely backup and sync your data using your own Google Drive. |
| 28 | +* **App Data Scope**: Uses the `drive.appdata` hidden folder scope, ensuring your data is only accessible by the app. |
| 29 | +* **Offline First**: Full functionality without an internet connection. |
| 30 | + |
| 31 | +### 🎨 Premium Design |
| 32 | +* **Flat Aesthetic**: A clean, modern "Flat Design" look that prioritizes readability. |
| 33 | +* **Custom Typography**: Features *Lora* for elegance and *JetBrains Mono* for data precision. |
| 34 | +* **Micro-Animations**: Smooth transitions and interactive elements for a premium feel. |
| 35 | + |
| 36 | +--- |
| 37 | + |
| 38 | +## 🛠️ Tech Stack |
| 39 | + |
| 40 | +* **Framework**: [Flutter](https://flutter.dev/) (3.11+) |
| 41 | +* **State Management**: [Provider](https://pub.dev/packages/provider) |
| 42 | +* **Local Database**: [Sqflite](https://pub.dev/packages/sqflite) (SQLite) |
| 43 | +* **Dependency Injection**: [GetIt](https://pub.dev/packages/get_it) |
| 44 | +* **APIs & Infrastructure**: |
| 45 | + * Google Drive API (Backup/Sync) |
| 46 | + * Firebase Crashlytics (Crash Reporting) |
| 47 | +* **Analytics & Reporting**: |
| 48 | + * [fl_chart](https://pub.dev/packages/fl_chart) |
| 49 | + * [pdf](https://pub.dev/packages/pdf) |
| 50 | + |
| 51 | +--- |
| 52 | + |
| 53 | +## 🚀 Getting Started |
| 54 | + |
| 55 | +### Prerequisites |
| 56 | +* Flutter SDK (^3.11.0) |
| 57 | +* Android Studio / VS Code with Flutter Extension |
| 58 | +* (Optional) Firebase account for Crashlytics |
| 59 | + |
| 60 | +### Setup |
| 61 | +1. **Clone the repository**: |
| 62 | + ```bash |
| 63 | + git clone https://github.com/HellBus1/VentExpensePro.git |
| 64 | + cd VentExpensePro |
| 65 | + ``` |
| 66 | + |
| 67 | +2. **Install dependencies**: |
| 68 | + ```bash |
| 69 | + flutter pub get |
| 70 | + ``` |
| 71 | + |
| 72 | +3. **Run the application**: |
| 73 | + ```bash |
| 74 | + flutter run |
| 75 | + ``` |
| 76 | + |
| 77 | +### Production Build (Android) |
| 78 | +The project is configured with ProGuard obfuscation and resource shrinking for optimized release builds. |
| 79 | + |
| 80 | +```bash |
| 81 | +flutter build apk --release |
| 82 | +``` |
| 83 | + |
| 84 | +*Note: For Crashlytics functionality, ensure `google-services.json` is placed in `android/app/`.* |
| 85 | + |
| 86 | +--- |
| 87 | + |
| 88 | +## 🏗️ Architecture |
| 89 | + |
| 90 | +The project follows a **Clean Architecture** pattern to ensure maintainability and testability: |
| 91 | + |
| 92 | +- **`lib/domain`**: Core business logic, entities, and repository interfaces (Pure Dart). |
| 93 | +- **`lib/data`**: Implementation of repositories, SQLite data sources, and external service integrations. |
| 94 | +- **`lib/presentation`**: UI layer consisting of Screens, Widgets (Clean Flat Design), and Providers (State Management). |
| 95 | +- **`lib/core`**: Application-wide configurations like Themes, DI setup, and Constants. |
| 96 | + |
| 97 | +--- |
| 98 | + |
| 99 | +## 🔒 Privacy & Security |
| 100 | + |
| 101 | +* **No Central Server**: Your financial data is never stored on our servers. |
| 102 | +* **Encrypted Sync**: Cloud sync happens directly between your device and your private Google Drive space. |
| 103 | +* **Obfuscation**: Production builds are obfuscated using R8/ProGuard to protect the application logic. |
| 104 | + |
| 105 | +--- |
| 106 | + |
| 107 | +## 📄 License |
| 108 | +This project is for personal use and portfolio demonstration. See `LICENSE` for details. |
0 commit comments