A simple and clean Expense Management app built with Flutter.
The app allows users to track expenses, manage categories and tags, and persist data locally.
This project was created as part of a Flutter practice course and is suitable for showcasing Flutter fundamentals, state management, and local persistence.
- 📋 View a list of all expenses
- ➕ Add new expenses with:
- Payee
- Amount
- Notes
- Date
- Category
- Tag
- 🗂 Group expenses by category
- ❌ Delete expenses
- ⚙️ Manage categories and tags
- 💾 Local data persistence (offline support)
- Flutter
- Dart
- Provider (state management)
- LocalStorage (persistent storage)
- Intl (date & formatting)
lib/
├── models/ # Data models (Expense, Category, Tag)
├── providers/ # State management (ExpenseProvider)
├── screens/ # App screens (Home, Add Expense, Settings)
├── widgets/ # Reusable UI components
└── main.dart # App entry point
Why this structure?
- Clear separation of concerns
- Scalable and maintainable architecture
- Easy to extend (e.g. Firebase integration in the future)
-
Clone the repository
git clone https://github.com/arterorx/expense-manager.git cd expense-manager -
Install dependencies
flutter pub get
-
Run the app
flutter run
This project demonstrates:
- Clean Flutter architecture
- State management with ChangeNotifier
- CRUD operations
- JSON serialization / deserialization
- Local data persistence
- Reusable widgets
- Multi-screen navigation
Armen Ter-Oganezov
Flutter Developer | 🇩🇪 Germany
GitHub: arterorx



