How rjv-yf/rituals works
Rituals is a local-first Flutter habit tracker. Users maintain a daily task list, mark tasks complete, and can attach repeat/alarm details; tracked history then powers a yearly consistency heatmap, at-a-glance statistics, and monthly summaries. The README describes Cubit state management, a task repository and local Isar storage, with heatmaps reading through the task repository. Android exposes a native alarm bridge. Dart implementation details were not sampled, so unverified wiring is shown as dashed rather than asserted.
Main entry points: heatmap_page.dart Heatmap screen · tasks_page.dart Task list · task_repository.dart Task repository · tasks_cubit.dart Task state
Components 21
Daily tasks
- Task list
lib/features/tasks/presentation/pages/tasks_page.dart - Task editor
lib/features/tasks/presentation/pages/task_form_sheet.dart - Task row
lib/features/tasks/presentation/widgets/task_tile.dart - Task state
lib/features/tasks/presentation/cubit/tasks_cubit.dart - Task repository
lib/features/tasks/data/task_repository.dart - Task model
lib/features/tasks/data/models/task.dart - Task draft
lib/features/tasks/data/models/task_draft.dart
History insights
- Heatmap screen
lib/features/heatmaps/presentation/pages/heatmap_page.dart - Heatmap state
lib/features/heatmaps/presentation/cubit/heatmap_cubit.dart - Analytics repository
lib/features/heatmaps/data/analytics_repository.dart - Year heatmap
lib/features/heatmaps/presentation/widgets/heatmap_card.dart - Statistics cards
lib/features/heatmaps/presentation/widgets/analytics_card.dart - Monthly summaries
lib/features/heatmaps/presentation/widgets/month_summary_tile.dart
Alarm integration
- Alarm service
lib/core/services/alarm_service.dart - Flutter activity
android/app/src/main/kotlin/dev/rajeever/rituals/MainActivity.kt - Alarm bridge
android/app/src/main/kotlin/dev/rajeever/rituals/AlarmBridge.kt - Device clock
App foundation
- App entry
lib/main.dart - App shell
lib/app.dart - Local database
lib/core/database/app_database.dart
Other components
- User
Connections 21
- User → App entry: opens app
README.md - App entry → App shell: starts app
- User → Task list: manages tasks
README.md - Task list → Task state: updates state
- Task list → Task editor: edits tasks
README.md - Task list → Task row: shows tasks
- Task state → Task repository: requests task data
- Task repository → Local database: persists tasks
- Task repository → Task model: uses task records
- Task editor → Task draft: prepares task
- User → Heatmap screen: reviews history
README.md - Heatmap screen → Heatmap state: loads insights
- Heatmap state → Analytics repository: requests summaries
- Analytics repository → Task repository: reads task history
README.md - Heatmap screen → Year heatmap: shows consistency
README.md - Heatmap screen → Statistics cards: shows statistics
README.md - Heatmap screen → Monthly summaries: shows monthly breakdown
README.md - Task state → Alarm service: sets task alarms
- Alarm service → Flutter activity: invokes alarm channel
- Flutter activity → Alarm bridge: dispatches method calls
android/app/src/main/kotlin/dev/rajeever/rituals/MainActivity.kt - Alarm bridge → Device clock: requests alarm
android/app/src/main/kotlin/dev/rajeever/rituals/AlarmBridge.kt