How christof-glitch/mealplanner works
This repository contains an Android meal-planning MVP foundation. The visible app entry opens a minimal Compose shell; domain modules define weekly-plan eligibility and locking, shopping-list rules and generation, recipe and store-presence boundaries, export fallback, and persistence continuity. The sampled UI does not yet orchestrate those domain flows, so the graph does not imply a complete user-to-result pipeline. Source excerpts establish the entry, lock-rule, adapter-stub, and persistence relationships; other capability links are omitted where their callers were not shown.
Main entry points: IntegrationStubs.kt Fallback adapters · ContinuityRepository.kt Continuity repository · MainActivity.kt Android entry · MealPlannerRoot.kt Compose shell
Components 19
App shell
- Android entry
app/src/main/java/com/mealplanner/MainActivity.kt - Compose shell
app/src/main/java/com/mealplanner/ui/MealPlannerRoot.kt - UI state
app/src/main/java/com/mealplanner/ui/MealPlannerUiState.kt - Platform abstractions
app/src/main/java/com/mealplanner/platform/PlatformAbstractions.kt - Diagnostics
app/src/main/java/com/mealplanner/diagnostics/Diagnostics.kt
Planning domain
- Plan models
app/src/main/java/com/mealplanner/domain/model/PlanModels.kt - Weekday eligibility
app/src/main/java/com/mealplanner/domain/planning/Adr006LockRules.kt - Plan lock service
app/src/main/java/com/mealplanner/domain/planning/PlanLockService.kt
Grocery and integrations
- Recipe models
app/src/main/java/com/mealplanner/domain/model/RecipeModels.kt - Recipe source boundary
app/src/main/java/com/mealplanner/adapters/RecipeSourceBoundary.kt - Fallback adapters
app/src/main/java/com/mealplanner/adapters/IntegrationStubs.kt - Store presence boundary
app/src/main/java/com/mealplanner/adapters/PresenceMappingBoundary.kt - Shopping list rules
app/src/main/java/com/mealplanner/domain/shopping/ShoppingListRules.kt - Export fallback
app/src/main/java/com/mealplanner/domain/export/ExportFallbackUseCase.kt
Local continuity
- Continuity repository
app/src/main/java/com/mealplanner/data/persistence/ContinuityRepository.kt - Persistence mappers
app/src/main/java/com/mealplanner/data/persistence/SimpleContinuityMappers.kt - Room DAO
app/src/main/java/com/mealplanner/data/persistence/MealPlannerDao.kt - Room database
app/src/main/java/com/mealplanner/data/persistence/MealPlannerDatabase.kt
Other components
- Meal planner user
Connections 9
- Meal planner user → Android entry: opens app
app/src/main/java/com/mealplanner/MainActivity.kt - Android entry → Compose shell: renders
app/src/main/java/com/mealplanner/MainActivity.kt - Compose shell → Weekday eligibility: reads rule text
app/src/main/java/com/mealplanner/ui/MealPlannerRoot.kt - Plan lock service → Weekday eligibility: marks plan stale
app/src/main/java/com/mealplanner/domain/planning/PlanLockService.kt - Fallback adapters → Recipe source boundary: implements
app/src/main/java/com/mealplanner/adapters/IntegrationStubs.kt - Fallback adapters → Store presence boundary: implements
app/src/main/java/com/mealplanner/adapters/IntegrationStubs.kt - Continuity repository → Room DAO: reads and writes
app/src/main/java/com/mealplanner/data/persistence/ContinuityRepository.kt - Continuity repository → Persistence mappers: encodes and decodes
app/src/main/java/com/mealplanner/data/persistence/ContinuityRepository.kt - Room database → Room DAO: provides
app/src/main/java/com/mealplanner/data/persistence/MealPlannerDatabase.kt