86 lines
6.1 KiB
Markdown
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 |
|