Budget manager — YNAB-like
- Dart 99.3%
- Batchfile 0.4%
- Shell 0.2%
- Kotlin 0.1%
| android | ||
| hooks | ||
| lib | ||
| test | ||
| .gitignore | ||
| .metadata | ||
| analysis_options.yaml | ||
| pubspec.lock | ||
| pubspec.yaml | ||
| README.md | ||
| test_push.txt | ||
| update.bat | ||
ynab_lite
A local-only budget manager — a simplified YNAB (You Need A Budget) clone built with Flutter.
Features
- Dashboard — total balance across all accounts, recent transactions at a glance
- Budget — monthly budgeting per category grouped by type (Housing, Food, Transport, etc.); slide to adjust budgets
- Accounts — track checking, savings, credit, and cash accounts
- Transactions — log income/expenses with payee, amount, date, category; search, edit, delete
Tech Stack
| Layer | Choice |
|---|---|
| UI | Flutter + Material 3 (custom sage-green theme) |
| State | Riverpod (stream providers + family providers) |
| Persistence | Drift (SQLite ORM) |
| Code generation | Drift_dev, Riverpod generator, Build runner |
| Fonts | Inter via Google Fonts |
Architecture
lib/
├── main.dart — Entry point, ProviderScope + MaterialApp
├── app.dart — Root scaffold: bottom nav, FAB, transaction sheet
├── screens/ — 4 tab screens (dashboard, budget, accounts, transactions)
├── providers/ — Riverpod providers for DB queries + search state
├── data/ — Drift database definition, tables, and generated code
└── theme/ — Light/dark theme, color palette, currency formatting
The database auto-seeds default category groups, categories, and sample accounts on first launch. All data stays on-device in a local SQLite database.
Getting Started
# Install dependencies
flutter pub get
# Generate code (drift, riverpod)
dart run build_runner build
# Run the app
flutter run
Testing
flutter test
API Documentation
Generated with dart doc:
dart doc
Output lands in doc/api/.