timetracker/REPOMAP.md
2026-08-03 21:51:48 +02:00

86 lines
6.1 KiB
Markdown

# 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 |