6.1 KiB
6.1 KiB
REPOMAP — Timetrack
Machine-readable overview of the repository. Every important file and directory with a one-line description. Update this file when adding new features or renaming paths.
Root
| Path | Description |
|---|---|
pubspec.yaml |
Dependencies and Flutter config |
analysis_options.yaml |
Dart linter rules |
AGENT.md |
AI agent context — project rules and conventions |
REPOMAP.md |
This file — repository map |
lib/
| Path | Description |
|---|---|
lib/main.dart |
Entry point — ProviderScope wraps App |
lib/app.dart |
MaterialApp.router — theme, locales, router |
lib/core/
| Path | Description |
|---|---|
lib/core/database/app_database.dart |
Drift AppDatabase — tables, DAOs, connection setup |
lib/core/router/app_router.dart |
GoRouter provider — routes, bottom nav shell |
lib/core/theme/app_theme.dart |
AppTheme.light / AppTheme.dark (Material 3) |
lib/core/l10n/ |
ARB localisation files (en, de, …) |
lib/features/timer/
| Path | Description |
|---|---|
lib/features/timer/data/timer_repository.dart |
TimerRepository interface |
lib/features/timer/domain/ |
TimerState (freezed), TimerNotifier (Riverpod) |
lib/features/timer/presentation/timer_screen.dart |
Timer UI — start/stop, project picker, elapsed |
lib/features/entries/
| Path | Description |
|---|---|
lib/features/entries/data/entries_repository.dart |
EntriesRepository — CRUD TimeEntry |
lib/features/entries/domain/ |
TimeEntry model (freezed), EntriesNotifier |
lib/features/entries/presentation/entries_screen.dart |
List of time entries, manual add/edit |
lib/features/projects/
| Path | Description |
|---|---|
lib/features/projects/data/projects_repository.dart |
ProjectsRepository — CRUD Project |
lib/features/projects/domain/ |
Project model (freezed), ProjectsNotifier |
lib/features/projects/presentation/projects_screen.dart |
Project list, create/edit/archive |
lib/features/reports/
| Path | Description |
|---|---|
lib/features/reports/data/reports_repository.dart |
Report queries — aggregation by day/week/month |
lib/features/reports/domain/ |
ReportData model, ReportsNotifier |
lib/features/reports/presentation/reports_screen.dart |
Day/week/month charts (fl_chart) |
lib/features/settings/
| Path | Description |
|---|---|
lib/features/settings/presentation/settings_screen.dart |
Language, theme, export, about |
test/
| Path | Description |
|---|---|
test/features/timer/ |
Unit + widget tests for timer feature |
test/features/entries/ |
Unit + widget tests for entries feature |
test/features/projects/ |
Unit + widget tests for projects feature |
test/features/reports/ |
Unit + widget tests for reports feature |
test/core/ |
Database migration tests, router tests |
.ai/
| Path | Description |
|---|---|
.ai/database.md |
Full Drift schema, DAO list, migration strategy |
.ai/architecture.md |
ADRs — why Riverpod, Drift, go_router, feature-first |
.ai/testing.md |
Test patterns, mocktail conventions, coverage goals |
.ai/features/timer.md |
Timer state machine, restore-on-launch logic |
.ai/features/reports.md |
Report queries, fl_chart data format, filters |
.ai/features/export.md |
CSV/PDF/JSON schemas, share_plus flow |
Generated Files (do not edit manually)
| Pattern | Generator |
|---|---|
**/*.g.dart |
build_runner |
**/*.freezed.dart |
freezed |
lib/core/router/app_router.g.dart |
riverpod_generator |