2f3cdf80165189eab6b9d26a2373c8593b598944
- Add PROGRESSIVE_ONBOARDING feature flag to KNOWN_FLAGS - Add onboarding_step column to users table (a/b/c) - New backend endpoints: - GET /v1/onboarding/status – check current step + feature flag - POST /v1/onboarding/quick-start – complete Step A (goal + precision) - POST /v1/onboarding/complete-b – complete Step B (diet, allergens, household) - POST /v1/onboarding/complete-c – complete Step C (health profile) - POST /v1/onboarding/skip – GDPR-friendly skip - Refactor mobile onboarding screen into 3 progressive layers - Update auth store with onboardingStep state - Update tab layout to only block on Step A - Update registration to set onboardingStep='a' - Add i18n keys for Step B/C titles across all 12 locales - Add Zod validation schemas (quickStartInputSchema, onboardingStatusSchema) - Add tests for validation and feature flag - Preserve existing /v1/me/onboarding for backward compatibility - Migration: 0004_progressive_onboarding.sql
Plattformen (arbetsnamn: se brand.config.json)
AI-baserat operativsystem för hushållets mat, recept, nutrition, inköp och matsvinn.
Monorepo för hela plattformen: mobilapp (iOS/Android), Food API, worker, adminpanel och
alla delade paket. Byggd enligt master-specifikationen i docs/.
Struktur
<repo-rot>/
apps/
mobile/ Expo/React Native-app (iOS + Android)
api/ Food API (Fastify) – enda ingången för mobilappen
worker/ BullMQ-workers (bildanalys, kvitton, notiser, subscriptions …)
admin/ Adminpanel (Vite + React)
packages/
shared-types/ Domäntyper, enums och konstanter
validation/ Zod-scheman för API-kontrakt
database/ Drizzle-schema, migrationer, seed, repositories
inventory-engine/ Transaktionsbaserat matlager (Food Twin), FEFO, bäst före
recipe-engine/ Receptmatchning, filtrering, substitution, skalning
nutrition-engine/ Deterministisk näringsberäkning, BMR/TDEE, dagsmål
recommendation-engine/ "Vad ska vi äta?" – poängsättning + förklaringar
ai-contracts/ Typade AAMOS-kontrakt + HTTP-klient (mock för dev/test)
memory-client/ AAMOS Memory – lager, samtycken, "Vad appen vet om mig"
subscriptions/ Planer, entitlements, StoreKit/Play-verifiering
connectors/ Connector-interface + Livsmedelsverket/OFF/hälso-stubs
events/ Eventkatalog + outbox-publicering
feature-flags/ Feature flags (env + databas)
infrastructure/
docker/ Dockerfiles + docker-compose
deployment/ Deploy-skript för befintlig server (steg 1) → ECS (steg 2–3)
migrations/ Genererade SQL-migrationer (källa: packages/database)
monitoring/ Larm, dashboards, healthchecks
security/ IAM-policies, hardening-checklista
docs/ Produkt- och teknikdokumentation (Del 1–20)
Kom igång (lokal utveckling)
Krav: Node ≥ 22, pnpm ≥ 10, Docker.
# 1. Installera beroenden
pnpm install
# 2. Starta Postgres + Redis
docker compose -f infrastructure/docker/docker-compose.dev.yml up -d
# 3. Miljövariabler
cp .env.example .env
# 4. Migrera + seeda databasen
pnpm db:migrate
pnpm db:seed
# 5. Starta API + worker + admin
pnpm api:dev
pnpm worker:dev
pnpm admin:dev
# 6. Mobilappen
pnpm mobile:start
API:t svarar på http://localhost:4000 (Swagger UI på /docs).
Adminpanelen på http://localhost:5173.
Vanliga kommandon
pnpm typecheck # TypeScript i hela repot
pnpm test # Alla tester (Vitest)
pnpm build # Bygg api/worker/admin
pnpm db:generate # Generera ny SQL-migration från Drizzle-schemat
Kritiska regler (spec §61 – gäller all kod)
- AI får inte hitta på kalorier eller allergener – all nutrition och allergihantering är deterministisk kod.
- Mobilappen pratar aldrig direkt med modelleverantörer – allt går
Mobil → Food API → AAMOS. - Mobilappen innehåller aldrig AI-hemligheter; backend verifierar Premium.
- AI ska visa osäkerhet, och korrigering ska vara enkel.
- Extern data måste vara juridiskt tillåten. Recept och produkter versionshanteras.
Dokumentation
Börja i docs/README.md – där ligger executive summary, beslutslogg, arkitektur,
datamodell, API-referens, säkerhets-/GDPR-checklista, utvecklingsfaser och launch-checklista.
Status
Se docs/STATUS.md för vad som är byggt, vad som är stubbar och vad som står näst på tur.
Description
Languages
TypeScript
97.9%
Shell
1%
HCL
0.6%
JavaScript
0.2%
Python
0.2%
Other
0.1%