Budget manager — YNAB-like
  • Dart 99.3%
  • Batchfile 0.4%
  • Shell 0.2%
  • Kotlin 0.1%
Find a file
2026-07-14 17:37:05 +02:00
android feat: init ynab_lite with Material 3 theme 2026-07-12 04:42:36 +02:00
hooks feat: search, FAB, post-merge hook and budget polish 2026-07-12 04:43:14 +02:00
lib Audit fixes: FK constraints, migration, bottom sheets, theme colors, cleanup 2026-07-14 17:14:08 +02:00
test Audit fixes: FK constraints, migration, bottom sheets, theme colors, cleanup 2026-07-14 17:14:08 +02:00
.gitignore feat: init ynab_lite with Material 3 theme 2026-07-12 04:42:36 +02:00
.metadata feat: init ynab_lite with Material 3 theme 2026-07-12 04:42:36 +02:00
analysis_options.yaml Audit fixes: FK constraints, migration, bottom sheets, theme colors, cleanup 2026-07-14 17:14:08 +02:00
pubspec.lock feat: init ynab_lite with Material 3 theme 2026-07-12 04:42:36 +02:00
pubspec.yaml Audit fixes: FK constraints, migration, bottom sheets, theme colors, cleanup 2026-07-14 17:14:08 +02:00
README.md Audit fixes: FK constraints, migration, bottom sheets, theme colors, cleanup 2026-07-14 17:14:08 +02:00
test_push.txt test git push mechanism 2026-07-14 17:37:05 +02:00
update.bat add update.bat for Windows fetch+reset+build workflow 2026-07-14 16:59:04 +02:00

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/.