e3e3fdfd73704836fea5d93e8da39f3f31ef905a
Utokar kock-katalogen fran 10 -> 40 recept (3-5 per kock): Gordon Ramsay, Jamie Oliver, Nigella Lawson, Yotam Ottolenghi, Marcus Samuelsson, Giada De Laurentiis, Emeril Lagasse, Ina Garten, Raymond Blanc, Rick Stein. Kanda ratter (shepherd's pie, sticky toffee, shakshuka, doro wat, svenska kottbullar, jambalaya, coq au vin, ratatouille, creme brulee, fiskcurry, moules mariniere m.fl.) - EGNA nyskrivna formuleringar, diskret krediterade via creatorDisplayName. Ligger bland ovriga recept, lyder diet-/allergi- filter, sokbara pa kockens namn (aven felstavat via fuzzy-soket). Verifierat: alla ids finns, alla enheter berakningsbara, seed gron (377 recept), typecheck gron, allergener determiniskt harledda (t.ex. moules -> blotdjur+mjolk), alla publicerade.
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 -n .env.example .env # -n = skriv inte over en befintlig .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.7%
Shell
0.9%
JavaScript
0.6%
HCL
0.5%
Python
0.2%
Other
0.1%