1.9 KiB
1.9 KiB
Bible Tracker
A Flutter app for tracking your Bible reading progress at your own pace. Inspired by the "My Bible Tracker" Android app.
Features
- Multiple trackers with custom names and colors (e.g. one per reading plan).
- Check off chapters as you read them — no schedules, no deadlines.
- Overall progress percentage, per-testament breakdowns, per-book progress.
- Start date is recorded automatically; see days reading in Stats.
- Long-press a tracker on the home screen to rename, recolor, reset, or delete.
- Mark an entire book as read (or clear) from the book's screen.
- Light and dark modes that follow system settings.
- Local-only data (SharedPreferences); no accounts, no network calls.
Project layout
lib/
data/bible.dart # 66-book Bible structure (names, chapter counts)
models/tracker.dart # Freezed Tracker model (+ generated files)
services/
progress.dart # Pure progress calculations
tracker_service.dart # StateNotifier managing trackers
tracker_storage.dart # SharedPreferences-backed repository
widgets/
theme.dart # AppTokens + AppTheme (light/dark)
progress_bar.dart
tracker_tile.dart
book_tile.dart
screens/
home_screen.dart
create_tracker_screen.dart
tracker_screen.dart
book_screen.dart
stats_screen.dart
main.dart
test/ # Mirrors lib/ layout
DESIGN_GUIDE.md # Colors, typography, spacing, components
AGENTS.md # Contributor / AI-agent guide
Getting started
flutter pub get
dart run build_runner build --delete-conflicting-outputs
flutter run
Verification checklist
Run after every change:
dart run build_runner build --delete-conflicting-outputs # if codegen changed
dart format .
flutter analyze
flutter test
Never commit unformatted code, analyzer warnings, or a broken test suite.
See AGENTS.md for full contribution rules.