Skip to content

Dr-Usman/SceneSplit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

32 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SceneSplit

SceneSplit logo

Split group expenses, track who owes what, and settle up β€” fully offline.

SceneSplit is a Flutter expense-splitting app for trips, roommates, dinners, and events. No account, no cloud β€” everything stays on your device.

Try the live demo

Download

Get SceneSplit from Google Play, or download the latest builds for all supported platforms from GitHub Releases.

Get SceneSplit on Google Play Get SceneSplit on GitHub

Screenshots

Home (light) Home (dark)
Home dashboard (light) Home dashboard (dark)
Group detail Pending summary
Group detail Home group pending summary sheet

Features

  • People & groups β€” Manage a global people pool from Profile; create groups with emoji icons and members
  • Flexible splits β€” Equal, exact amounts, or percentage, with live validation; choose who is included per expense
  • Balances & settlements β€” Live balances across groups, smart settlement suggestions, and editable settlement records
  • Insights β€” Group expense total and member-share pie chart on group detail
  • Currency β€” App-wide default for home summary and new groups; each group has its own currency
  • Appearance β€” System, light, or dark theme (saved and applied before first frame)
  • Backup β€” Export and import a local database backup (non-web platforms)
  • Legal & about β€” In-app privacy policy, terms of service, and app version
  • Offline-first β€” All data stored locally with Drift (SQLite); no sign-in required

Tech Stack

Layer Technology
Framework Flutter 3.44 / Dart 3.12
State management Riverpod 3
Database Drift 2.34 (SQLite)
Architecture Feature-first + service / repository
Charts fl_chart
Navigation Material navigation (go_router listed for future use)

Prerequisites

  • Flutter SDK (3.44.5 stable or compatible)
  • Dart SDK ^3.12.2

Getting Started

flutter pub get
dart run build_runner build --delete-conflicting-outputs   # only after schema changes
flutter run

Project Structure

lib/
β”œβ”€β”€ main.dart / app.dart
β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ constants/     # currencies, group emojis, assets
β”‚   β”œβ”€β”€ theme/
β”‚   └── utils/         # money formatting
β”œβ”€β”€ database/
β”‚   β”œβ”€β”€ tables.dart
β”‚   β”œβ”€β”€ app_database.dart
β”‚   └── app_database.g.dart
β”œβ”€β”€ repositories/      # user, group, expense, settlement
β”œβ”€β”€ services/          # split engine, balance
β”œβ”€β”€ providers/         # Riverpod streams and derived state
β”œβ”€β”€ features/
β”‚   β”œβ”€β”€ onboarding/
β”‚   β”œβ”€β”€ home/
β”‚   β”œβ”€β”€ groups/        # create, edit, detail
β”‚   β”œβ”€β”€ expenses/
β”‚   β”œβ”€β”€ settlements/
β”‚   β”œβ”€β”€ profile/       # appearance, currency, people, data & backup
β”‚   β”œβ”€β”€ legal/
β”‚   └── about/
└── shared/widgets/

Database Schema

All money amounts are stored as integer cents.

Table Purpose
Users Global people pool (id, name, colorIndex, isCurrentUser)
AppSettings Single row: default currencyCode, themeMode
Groups Group name, emoji, currencyCode
GroupMembers Group ↔ user membership
Expenses Group expenses (amountCents, paidById, splitType, note, date)
ExpenseSplits Per-user split amounts
Settlements Recorded payments between members

Commands

flutter pub get
flutter analyze
flutter test
dart run build_runner build --delete-conflicting-outputs
flutter run

See AGENTS.md for dependency pins, architecture conventions, and codegen notes.

Future Enhancements

  • Backend sync
  • Multi-currency with exchange rates
  • Receipt scanning
  • Export (PDF / CSV)
  • Localization

Contributing

CI, PR checks, releasing, and GitHub secrets are documented in CONTRIBUTING.md.

License

MIT

About

🧾 SceneSplit β€” An expense splitting app inspired by Splitwise. Split expenses with friends, track balances, and settle up easily.

Topics

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors