From e491a6c67f0e7717a0c787d09ace21fb05dec8e0 Mon Sep 17 00:00:00 2001 From: Nils-Johan Gynther Date: Wed, 20 May 2026 21:28:10 +0200 Subject: [PATCH] docs: add new documentation files for project planning and development Added two new documentation files: - .kilo/plans/1779256422838-glowing-knight.md: Contains development plan for the "Glowing Knight" feature - plan-dokumentation.md: Provides overview of project planning structure and documentation standards --- .kilo/plans/1779256422838-glowing-knight.md | 369 ++++++++++++++++++++ plan-dokumentation.md | 169 +++++++++ 2 files changed, 538 insertions(+) create mode 100644 .kilo/plans/1779256422838-glowing-knight.md create mode 100644 plan-dokumentation.md diff --git a/.kilo/plans/1779256422838-glowing-knight.md b/.kilo/plans/1779256422838-glowing-knight.md new file mode 100644 index 00000000..6828f394 --- /dev/null +++ b/.kilo/plans/1779256422838-glowing-knight.md @@ -0,0 +1,369 @@ +# Plan: Förbättrad dokumentationsstruktur för Recipe-app + +## Bakgrund +Projektet har idag **20+ .md-filer** spridda över olika mappar, inklusive: +- **Aktiva filer** i rotmappen (t.ex. `TEKNISK_BESKRIVNING.md`, `NEXT_STEPS.md`). +- **Arkiverade filer** i `_archive/docs/` (t.ex. session-specifika anteckningar, gamla refaktoringsplaner). +- **Fragmenterade guider** (t.ex. `flyerimporter.md`, `filanalys.md`). +- **GitHub-specifika filer** (t.ex. `.github/copilot-instructions.md`). + +**Problem**: +- **Svårt att hitta information**: Relaterat innehåll är splittrat (t.ex. Flutter-dokumentation i `_archive/docs/flutter/` vs. backend-dokumentation i rotmappen). +- **Föråldrat innehåll**: Arkiverade filer blandas med aktiva (t.ex. `SESSION_CHECKPOINT_2026-05-12.md`). +- **Icke-optimerat för språkmodeller**: Saknar tydlig hierarki och kontextuella länkar. +- **Duplicering**: Samma koncept (t.ex. "kategoriträd") dokumenteras på flera ställen. + +--- + +## Mål med ny struktur +1. **Användarvänligt för utvecklare**: + - Logisk gruppering av innehåll (t.ex. "Backend", "Flutter", "Deploy"). + - Tydliga **steg-för-steg-guider** för vanliga arbetsflöden. + - **Sökbart** med tydliga rubriker och nyckelord. + +2. **Optimerat för språkmodeller (LLMs): + - **Kontextuell sammanhang**: Varje fil innehåller tillräcklig bakgrund för att förstå dess syfte. + - **Länkat innehåll**: Korsreferenser mellan filer för att ge fullständig bild. + - **Strukturera data**: Använd tabeller, listor och diagram för att göra informationen maskinläsbar. + +3. **Underhållbart**: + - **Versionerat**: Tydlig separation mellan aktiv dokumentation och arkiv. + - **Modulärt**: Uppdateringar i en modul (t.ex. "Databas") påverkar inte andra. + - **Automatiseringsvänligt**: Filer som `CONTRIBUTING.md` och `README.md` kan genereras delvis från andra källor. + +--- + +## Föreslagen struktur +``` +/ +├── docs/ # **Huvudkatalog för ALL aktiv dokumentation** +│ ├── 01-overview/ # Övergripande projektbeskrivning +│ │ ├── README.md # Huvudsaklig README (ersätter rot-README.md) +│ │ ├── ARCHITECTURE.md # Systemarkitektur (flytta från TEKNISK_BESKRIVNING.md) +│ │ └── GLOSSARY.md # Termer och definitioner (t.ex. "kategoriträd", "flyer session") +│ │ +│ ├── 02-setup/ # Installation och konfiguration +│ │ ├── INSTALL.md # Miljökrav, beroenden, första uppstart +│ │ ├── CONFIG.md # Konfigurationsfiler (.env, Docker, etc.) +│ │ └── TROUBLESHOOTING.md # Vanliga problem och lösningar +│ │ +│ ├── 03-development/ # Utvecklingsguider +│ │ ├── CONTRIBUTING.md # Bidragsregler, kodstandard, PR-process +│ │ ├── WORKFLOWS.md # Git-flöden, branch-strategi, CI/CD +│ │ ├── DATABASE.md # Schema, migrationer, seedning (flytta från TEKNISK_BESKRIVNING.md) +│ │ ├── API.md # Backend-API:er, Swagger-länkar, exempelanrop +│ │ ├── FLUTTER.md # Flutter-specifik dokumentation (flytta från _archive/docs/flutter/) +│ │ └── MICROSERVICES.md # Importer-AI, Todo-microservice, etc. +│ │ +│ ├── 04-deploy/ # Driftsättning och underhåll +│ │ ├── DEPLOY.md # Steg-för-steg deploy (ersätter delar av TEKNISK_BESKRIVNING.md) +│ │ ├── MAINTENANCE.md # Underhållsskript, backup, monitorering +│ │ └── SCALING.md # Prestanda, skalning, lasttest +│ │ +│ ├── 05-features/ # Djupdyk i funktioner +│ │ ├── RECIPE_IMPORT.md # Kvittosimport (ersätter flyerimporter.md) +│ │ ├── CATEGORY_TREE.md # Kategorihantering och L3-integration +│ │ ├── SHOPPING_LIST.md # Inköpslistor och flyer-integration +│ │ └── ... # Övriga funktioner (t.ex. måltidsplanering) +│ │ +│ └── 06-archive/ # **Arkiverade dokument** (flytta hit från _archive/) +│ ├── sessions/ # Gamla sessionsanteckningar +│ ├── legacy/ # Föråldrade planer (t.ex. RECIPE_IMPORT_REFACTOR_PLAN.md) +│ └── ... +│ +├── .github/ # GitHub-specifika filer +│ ├── COPILOT_INSTRUCTIONS.md # Flytta hit från .github/copilot-instructions.md +│ └── ... +│ +└── ... # Övriga projektfiler (backend/, flutter/, etc.) +``` + +--- + +## Detaljerad filstruktur och innehåll + +### 1. `docs/01-overview/` +| Fil | Syfte | Källor (befintliga filer) | +|-------------------|-----------------------------------------------------------------------|---------------------------------------------------| +| `README.md` | **Huvudsaklig ingress**: Projektbeskrivning, mål, snabbstart, länkar. | `README.md`, delar av `TEKNISK_BESKRIVNING.md` | +| `ARCHITECTURE.md` | **Systemarkitektur**: Komponentdiagram, databasrelationer, flöden. | `TEKNISK_BESKRIVNING.md` (avsnitt om arkitektur) | +| `GLOSSARY.md` | **Ordförklaringar**: Definitioner av projekt-specifika termer. | Ny fil | + +**Exempelinnehåll för `ARCHITECTURE.md`**: +```markdown +# Systemarkitektur + +```mermaid +graph TD + A[Flutter App] -->|HTTP/REST| B[Backend API] + B -->|Prisma Client| C[MariaDB] + B -->|gRPC| D[Importer Microservice] + D -->|HTTP| E[Externa API:er] + C -->|Seed| F[Initial Data] +``` + +## Komponenter +1. **Flutter App**: + - State management: Riverpod + - UI: Material Design + anpassade widgets + - Integreringar: Kamera (kvittoscan), PDF-rendering + +2. **Backend API**: + - Ramverk: NestJS + - Databas: Prisma + MariaDB + - Autentisering: JWT + +3. **Microservices**: + - Importer: Node.js + Puppeteer (för kvittosimport) + - AI: Python + Mistral (för kategorisering) +``` + +--- + +### 2. `docs/02-setup/` +| Fil | Syfte | Källor | +|-------------------|-----------------------------------------------------------------------|----------------------------------------------| +| `INSTALL.md` | **Miljösetup**: Krav, beroenden, första körning. | Delar av `README.md` och `TEKNISK_BESKRIVNING.md` | +| `CONFIG.md` | **Konfiguration**: `.env`-variabler, Docker-compose, nätverk. | `TEKNISK_BESKRIVNING.md` (avsnitt om miljö) | +| `TROUBLESHOOTING.md` | **Felsökning**: Vanliga fel, lösningar, debug-tips. | Ny fil | + +**Exempelinnehåll för `INSTALL.md`**: +```markdown +# Installation + +## Krav +| Komponent | Version | Notering | +|-----------------|---------------|-----------------------------------| +| Node.js | 24.15.0 | LTS-version rekommenderas | +| Docker | 24.x | Krävs för databas och microservices| +| Flutter | 3.41.9 | Kanal: stable | +| MariaDB | 11.x | Inkluderas via Docker-compose | + +## Steg-för-steg +1. **Klona repo**: + ```bash + git clone https://github.com/recipe-app/recipe-app.git + cd recipe-app + ``` + +2. **Konfigurera miljö**: + ```bash + cp .env.example .env + # Redigera .env (se CONFIG.md för detaljer) + ``` + +3. **Starta tjänster**: + ```bash + docker compose up -d + ``` +``` + +--- + +### 3. `docs/03-development/` +| Fil | Syfte | Källor | +|-------------------|-----------------------------------------------------------------------|----------------------------------------------| +| `CONTRIBUTING.md` | **Bidragsregler**: Kodstandard, PR-process, testkrav. | Ny fil (inspirerad av GitHub-standard) | +| `WORKFLOWS.md` | **Arbetsflöden**: Git-strategi, CI/CD, release-process. | `TEKNISK_BESKRIVNING.md` (avsnitt om Git) | +| `DATABASE.md` | **Databas**: Schema, migrationer, seedning, underhållsskript. | `TEKNISK_BESKRIVNING.md` + nya avsnitt | +| `API.md` | **Backend-API**: Endpoints, autentisering, exempelanrop. | Ny fil | +| `FLUTTER.md` | **Flutter-utveckling**: Widget-träd, state management, teman. | `_archive/docs/flutter/` | +| `MICROSERVICES.md`| **Microservices**: Importer, AI, kommunikation med backend. | Ny fil | + +**Exempelinnehåll för `DATABASE.md`**: +```markdown +# Databas + +## Schema +```mermaid +erDiagram + User ||--o{ Recipe : creates + User ||--o{ InventoryItem : owns + Category ||--o{ Product : "L3" + FlyerSession ||--o{ FlyerItem : contains +``` + +## Migrationer +### Standardflöde +1. Uppdatera `prisma/schema.prisma`. +2. Skapa migration: + ```bash + npx prisma migrate dev --name add_feature_x + ``` +3. Testa lokalt: + ```bash + npx prisma migrate reset + npx prisma db seed + ``` + +### Underhållsskript +- **Rensa databas** (behåll kategorier): + ```bash + ./deploy.sh --clean-database + ``` + > Obs! Uppdatera `prisma/maintenance/clean-database.sql` när nya tabeller läggs till. + +## Seedning +- **Initial data**: Laddas från `db/seeds/seed_all.sql`. +- **Kör seed**: + ```bash + ./deploy.sh --seed + ``` +``` + +--- + +### 4. `docs/04-deploy/` +| Fil | Syfte | Källor | +|-------------------|-----------------------------------------------------------------------|----------------------------------------------| +| `DEPLOY.md` | **Deploy-guider**: Steg-för-steg för staging/produktion. | `TEKNISK_BESKRIVNING.md` (avsnitt om deploy) | +| `MAINTENANCE.md` | **Underhåll**: Backup, monitorering, logghantering. | Ny fil | +| `SCALING.md` | **Skalning**: Prestandaoptimering, lasttest, caching. | Ny fil | + +**Exempelinnehåll för `DEPLOY.md`**: +```markdown +# Driftsättning + +## Miljöer +| Miljö | Domän | Syfte | +|-------------|---------------------|--------------------------------| +| Lokal | localhost:8080 | Utveckling | +| Staging | staging.app.com | Test перед prod | +| Produktion | app.recipe.com | Live-trafik | + +## Steg-för-steg +1. **Bygg och pusha images**: + ```bash + docker compose build + docker compose push + ``` + +2. **Kör migrationer**: + ```bash + ./deploy.sh --backend --migrate + ``` + +3. **Starta tjänster**: + ```bash + docker compose up -d + ``` + +## Vanliga flaggor +| Flagga | Beskrivning | +|-------------------|----------------------------------------------| +| `--migrate` | Kör Prisma-migrationer. | +| `--clean-database`| Rensar data (behåller kategorier). | +| `--seed` | Laddar initial data. | +``` + +--- + +### 5. `docs/05-features/` +| Fil | Syfte | Källor | +|-------------------|-----------------------------------------------------------------------|----------------------------------------------| +| `RECIPE_IMPORT.md`| **Kvittosimport**: Flyer-parsing, AI-kategorisering, lagring. | `flyerimporter.md` | +| `CATEGORY_TREE.md`| **Kategoriträd**: L3-integration, hierarki, synkronisering. | Delar av `TEKNISK_BESKRIVNING.md` | +| `SHOPPING_LIST.md`| **Inköpslistor**: Flyer-integration, kvantitetsberäkning, delning. | Ny fil | + +**Exempelinnehåll för `RECIPE_IMPORT.md`**: +```markdown +# Kvittosimport + +## Flöde +```mermaid +flowchart TD + A[Ladda upp PDF] --> B[Extrahera text] + B --> C[AI-kategorisering] + C --> D[Spara som FlyerSession] + D --> E[Mappa till inköpslista] +``` + +## API-endpoints +| Endpoint | Metod | Beskrivning | +|-----------------------------------|-------|--------------------------------------| +| `/api/flyer-sessions` | POST | Ladda upp och parsa PDF. | +| `/api/flyer-sessions/:id/items` | PATCH | Uppdatera produktnamn/kategori. | +| `/api/shopping-list/from-flyer` | POST | Konvertera flyer till inköpslista. | + +## Underhåll +- **Uppdatera AI-modell**: Se `MICROSERVICES.md`. +- **Lägg till nya butiker**: Uppdatera `src/flyer-import/parsers/`. +``` + +--- + +### 6. `docs/06-archive/` +- **Syfte**: Flytta alla föråldrade filer hit, organiserade efter typ: + ``` + docs/06-archive/ + ├── sessions/ # Gamla sessionscheckpoints + │ ├── SESSION_2026-05-09_RECEIPT_IMPORT.md + │ └── ... + ├── legacy/ # Föråldrade planer + │ ├── RECIPE_IMPORT_REFACTOR_PLAN.md + │ └── ... + └── flutter_legacy/ # Gamla Flutter-dokument + ├── teknisk_beskrivning_flutter.md + └── ... + ``` + +--- + +## Migrationsplan + +### Steg 1: Rensa och organisera befintliga filer +| Åtgärd | Källfil(er) | Målfil | +|---------------------------------|---------------------------------------------|-----------------------------------------| +| Flytta och uppdatera | `TEKNISK_BESKRIVNING.md` | `docs/01-overview/ARCHITECTURE.md` | +| | `TEKNISK_BESKRIVNING.md` (deploy-avsnitt) | `docs/04-deploy/DEPLOY.md` | +| | `TEKNISK_BESKRIVNING.md` (databas-avsnitt) | `docs/03-development/DATABASE.md` | +| Flytta och slå samman | `flyerimporter.md` | `docs/05-features/RECIPE_IMPORT.md` | +| | `_archive/docs/flutter/*` | `docs/03-development/FLUTTER.md` | +| Arkivera | `_archive/docs/SESSION_*.md` | `docs/06-archive/sessions/` | +| | `MVP_CHECKLISTA.md` | `docs/06-archive/legacy/` | +| Uppdatera och flytta | `README.md` | `docs/01-overview/README.md` | +| | `.github/copilot-instructions.md` | `.github/COPILOT_INSTRUCTIONS.md` | + +### Steg 2: Skapa nya filer +| Fil | Syfte | +|-----------------------------|-----------------------------------------------------------------------| +| `docs/03-development/CONTRIBUTING.md` | Standardiserade bidragsregler (branches, PR, code review). | +| `docs/03-development/API.md` | Dokumentation av backend-API:er (OpenAPI/Swagger-länkar). | +| `docs/03-development/MICROSERVICES.md` | Beskrivning av microservices (Importer, AI). | +| `docs/05-features/CATEGORY_TREE.md` | Djupdyk i kategorihantering och L3-integration. | +| `docs/04-deploy/MAINTENANCE.md` | Backup, monitorering, logghantering. | + +### Steg 3: Lägg till kontext för språkmodeller +- **Länka filer**: Korsreferenser mellan relaterade ämnen (t.ex. länka från `DATABASE.md` till `DEPLOY.md` för migrationssteg). +- **Metadatarubriker**: Lägg till `## Syfte` och `## Målgrupp` i varje fil. +- **Diagram**: Använd Mermaid för att visualisera flöden och relationer. +- **Exempel**: Inkludera kopierbara kodblock för vanliga operationer. + +--- + +## Fördelar med den nya strukturen + +### För utvecklare +✅ **Lätt att hitta**: Logisk gruppering (t.ex. all Flutter-dokumentation på ett ställe). +✅ **Uppdaterad**: Arkiverade filer separerade från aktiv dokumentation. +✅ **Steg-för-steg**: Guider med tydliga exempel (t.ex. `INSTALL.md`). + +### För språkmodeller (LLMs) +🤖 **Kontextuell förståelse**: +- Varje fil har ett tydligt syfte och målgrupp. +- Korsreferenser ger fullständig bild (t.ex. länka från `ARCHITECTURE.md` till `DATABASE.md`). +- Diagram och tabeller gör informationen maskinläsbar. + +📚 **Sökbarhet**: +- Hierarkisk struktur (`01-overview/`, `02-setup/`, etc.) underlättar navigering. +- Nyckelord i rubriker (t.ex. "Flutter State Management" i `FLUTTER.md`). + +🔗 **Länkat innehåll**: +- Relaterade ämnen länkas explicit (t.ex. "Se [DATABASE.md](../03-development/DATABASE.md) för schema"). + +--- + +## Nästa steg +1. **Godkänn planen**: Bekräfta att den föreslagna strukturen uppfyller kraven. +2. **Prioritera filer**: Vilka filer ska migreras först? (t.ex. `TEKNISK_BESKRIVNING.md` → flera nya filer). +3. **Implementera**: Skapa den nya strukturen och flytta innehåll stegvis. \ No newline at end of file diff --git a/plan-dokumentation.md b/plan-dokumentation.md new file mode 100644 index 00000000..9cdc74bf --- /dev/null +++ b/plan-dokumentation.md @@ -0,0 +1,169 @@ +# Plan för förbättrad dokumentationsstruktur + +## Bakgrund +Projektet har idag över 20 `.md`-filer spridda över olika mappar, vilket gör det svårt att hitta information och förstå projektets helhet. Den nya strukturen syftar till att: +- **Göra dokumentationen användarvänlig** för både utvecklare och språkmodeller. +- **Optimerad för underhåll** med tydlig separation mellan aktiv och arkiverad dokumentation. +- **Skapa kontextuell sammanhang** genom länkade filer och tydliga hierarkier. + +--- + +## Nuvarande problem +- **Fragmentering**: Relaterat innehåll är splittrat (t.ex. Flutter-dokumentation i `_archive/docs/flutter/` vs. backend-dokumentation i rotmappen). +- **Föråldrat innehåll**: Arkiverade filer blandas med aktiva (t.ex. `SESSION_CHECKPOINT_2026-05-12.md`). +- **Duplicering**: Samma koncept dokumenteras på flera ställen (t.ex. kategoriträd). +- **Icke-optimerat för språkmodeller**: Saknar tydlig hierarki och kontextuella länkar. + +--- + +## Föreslagen struktur +``` +/ +├── docs/ # Huvudkatalog för ALL aktiv dokumentation +│ ├── 01-overview/ # Övergripande projektbeskrivning +│ │ ├── README.md # Huvudsaklig ingress (ersätter rot-README.md) +│ │ ├── ARCHITECTURE.md # Systemarkitektur +│ │ └── GLOSSARY.md # Termer och definitioner +│ │ +│ ├── 02-setup/ # Installation och konfiguration +│ │ ├── INSTALL.md # Miljökrav, beroenden, första uppstart +│ │ ├── CONFIG.md # Konfigurationsfiler (.env, Docker, etc.) +│ │ └── TROUBLESHOOTING.md # Vanliga problem och lösningar +│ │ +│ ├── 03-development/ # Utvecklingsguider +│ │ ├── CONTRIBUTING.md # Bidragsregler, kodstandard, PR-process +│ │ ├── WORKFLOWS.md # Git-flöden, branch-strategi, CI/CD +│ │ ├── DATABASE.md # Schema, migrationer, seedning +│ │ ├── API.md # Backend-API:er, Swagger-länkar +│ │ ├── FLUTTER.md # Flutter-specifik dokumentation +│ │ └── MICROSERVICES.md # Importer, AI, etc. +│ │ +│ ├── 04-deploy/ # Driftsättning och underhåll +│ │ ├── DEPLOY.md # Steg-för-steg deploy +│ │ ├── MAINTENANCE.md # Underhållsskript, backup, monitorering +│ │ └── SCALING.md # Prestanda, skalning +│ │ +│ ├── 05-features/ # Djupdyk i funktioner +│ │ ├── RECIPE_IMPORT.md # Kvittosimport och flyer-parsing +│ │ ├── CATEGORY_TREE.md # Kategorihantering och L3-integration +│ │ ├── SHOPPING_LIST.md # Inköpslistor och flyer-integration +│ │ └── ... # Övriga funktioner +│ │ +│ └── 06-archive/ # Arkiverade dokument +│ ├── sessions/ # Gamla sessionsanteckningar +│ ├── legacy/ # Föråldrade planer +│ └── flutter_legacy/ # Gamla Flutter-dokument +│ +├── .github/ # GitHub-specifika filer +│ ├── COPILOT_INSTRUCTIONS.md +│ └── ... +│ +└── ... # Övriga projektfiler (backend/, flutter/, etc.) +``` + +--- + +## Migrationsplan + +### Steg 1: Skapa den nya strukturen +```bash +mkdir -p docs/{01-overview,02-setup,03-development,04-deploy,05-features,06-archive/sessions,06-archive/legacy,06-archive/flutter_legacy} +``` + +### Steg 2: Flytta och uppdatera filer + +| Källfil(er) | Målfil | Åtgärd | +|---------------------------------------------|-----------------------------------------|------------------------------------------------------------------------| +| `TEKNISK_BESKRIVNING.md` | `docs/01-overview/ARCHITECTURE.md` | Extrahera arkitekturavsnitt. | +| `TEKNISK_BESKRIVNING.md` (deploy) | `docs/04-deploy/DEPLOY.md` | Extrahera deploy-avsnitt. | +| `TEKNISK_BESKRIVNING.md` (databas) | `docs/03-development/DATABASE.md` | Extrahera databasavsnitt + lägg till underhållsskript. | +| `flyerimporter.md` | `docs/05-features/RECIPE_IMPORT.md` | Uppdatera med nya flöden och API-endpoints. | +| `_archive/docs/flutter/*` | `docs/03-development/FLUTTER.md` | Slå samman och uppdatera Flutter-dokumentation. | +| `README.md` | `docs/01-overview/README.md` | Uppdatera med länkar till nya dokument. | +| `.github/copilot-instructions.md` | `.github/COPILOT_INSTRUCTIONS.md` | Flytta och uppdatera. | +| `_archive/docs/SESSION_*.md` | `docs/06-archive/sessions/` | Arkivera gamla sessionsanteckningar. | +| `MVP_CHECKLISTA.md` | `docs/06-archive/legacy/` | Arkivera föråldrade planer. | + +### Steg 3: Skapa nya filer + +| Fil | Syfte | +|-----------------------------|-----------------------------------------------------------------------| +| `docs/03-development/CONTRIBUTING.md` | Standardiserade bidragsregler (branches, PR, code review). | +| `docs/03-development/API.md` | Dokumentation av backend-API:er (OpenAPI-länkar, exempel). | +| `docs/03-development/MICROSERVICES.md` | Beskrivning av microservices (Importer, AI). | +| `docs/05-features/CATEGORY_TREE.md` | Djupdyk i kategorihantering och L3-integration. | +| `docs/04-deploy/MAINTENANCE.md` | Backup, monitorering, logghantering. | + +--- + +## Exempel på innehåll + +### `docs/01-overview/ARCHITECTURE.md` +```markdown +# Systemarkitektur + +```mermaid +graph TD + A[Flutter App] -->|HTTP/REST| B[Backend API] + B -->|Prisma Client| C[MariaDB] + B -->|gRPC| D[Importer Microservice] + D -->|HTTP| E[Externa API:er] + C -->|Seed| F[Initial Data] +``` + +## Komponenter +1. **Flutter App**: State management med Riverpod, UI med Material Design. +2. **Backend API**: NestJS + Prisma, autentisering via JWT. +3. **Microservices**: Importer (Node.js + Puppeteer), AI (Python + Mistral). +``` + +--- + +### `docs/03-development/DATABASE.md` +```markdown +# Databas + +## Schema +```mermaid +erDiagram + User ||--o{ Recipe : creates + User ||--o{ InventoryItem : owns + Category ||--o{ Product : "L3" + FlyerSession ||--o{ FlyerItem : contains +``` + +## Migrationer +### Standardflöde +1. Uppdatera `prisma/schema.prisma`. +2. Skapa migration: + ```bash + npx prisma migrate dev --name add_feature_x + ``` +3. Testa lokalt: + ```bash + npx prisma migrate reset + npx prisma db seed + ``` + +### Underhållsskript +- **Rensa databas** (behåll kategorier): + ```bash + ./deploy.sh --clean-database + ``` + > Obs! Uppdatera `prisma/maintenance/clean-database.sql` när nya tabeller läggs till. +``` + +--- + +## Fördelar +- **Lätt att hitta**: Logisk gruppering (t.ex. all Flutter-dokumentation på ett ställe). +- **Uppdaterad**: Arkiverade filer separerade från aktiv dokumentation. +- **Optimerad för språkmodeller**: Tydliga rubriker, länkar, och maskinläsbara format. +- **Underhållbar**: Modulär struktur gör det enkelt att uppdatera enskilda delar. + +--- + +## Nästa steg +1. **Godkänn planen**: Bekräfta att strukturen uppfyller era behov. +2. **Implementera**: Skapa den nya strukturen och flytta filer stegvis. +3. **Uppdatera länkar**: Se till att alla referenser pekar på de nya platserna. \ No newline at end of file