1320f936ec
- Updated "teknisk_beskrivning_flutter.md" to streamline content and remove outdated sections, focusing on architecture, environment, and recent technical additions. - Enhanced "migrering-MSI.md" with post-migration updates and clarifications for target audience. - Revised "produktlansering.md" to serve as a release checklist, ensuring it complements existing documentation without duplication. Co-authored-by: Copilot <copilot@github.com>
5.0 KiB
5.0 KiB
Dokumentstatus (2026-05-03)
Målgrupp
Detta arkivdokument är en historisk plan för framtida todo-microservice och riktar sig till utvecklare/arkitekter.
Kommentar utifrån senaste sessionerna
- Fokus i senaste sessionerna har legat på kvittoimport, kategoriregler och klientpersistens i befintliga system.
- Ingen aktiv implementation av todo-microservice har påbörjats i denna period.
Jag kan inte direkt flytta filer mellan minnesområdet och projektmappen, men här är hela planen. Kopiera och spara innehållet nedan som recipe-app/microservice-todo.md i din projektmapp:
Plan: Microservice-Todo (Shopping/Todo-list)
En skalbar, Dockeriserad microservice för shopping/todo-listor, med tight integration mot recipe-app men även möjlighet att köras fristående (SQLite fallback). Backend i NestJS/Prisma, REST API med JWT och användarscope, enkel Flutter-webbklient, och DevOps/CI/CD enligt befintliga mönster.
Steg
FAS 1: Backend och Databas
- Skapa nytt NestJS-projekt (t.ex.
todo-api) med Prisma ORM. - Definiera Prisma-schema för
TodoList,TodoItem, och användarrelation (userId, foreign key mot User i recipe-db om integrerat, annars lokal User-tabell för standalone/SQLite). - Implementera MariaDB som primär databas, med fallback till SQLite (env-styrd konfiguration).
- Skapa migreringar och seed-data för test/demo.
- Implementera JWT-baserad autentisering och användarscope på alla endpoints.
- Bygg REST API:
- CRUD för listor och items (alla operationer användarspecifika)
- Endpoint för att ta emot poster från recipe-app (t.ex. POST /api/todo/from-recipe)
- Health endpoint (GET /health)
- Lägg till admin-endpoints (valfritt): lista alla användares listor/items, ta bort, återställ.
FAS 2: Dockerisering och DevOps
- Skriv Dockerfile (multi-stage, production-ready, .dockerignore).
- Lägg till service i compose.yml och ev.
compose.override.ymlför recipe-app. - Automatisera migreringar vid start (entrypoint-script eller Docker CMD).
- Lägg till healthcheck i Docker och Compose.
- Dokumentera miljövariabler och konfigurationsmöjligheter (MariaDB/SQLite, JWT-secret, etc).
FAS 3: Flutter Webbklient
- Skapa nytt Flutter-projekt (t.ex.
todo-flutter) enligt recipe-app-mönster. - Implementera login (JWT), lista/skapa/ta bort todo-listor och items, markera som klar, enkel UI.
- Använd Riverpod, GoRouter, och ARB-lokalisering (svenska/engelska).
- Lägg till Dockerfile och Compose-service för Flutter-klienten.
- Testa integration mot backend (same-origin /api, JWT i header).
FAS 4: Integration och Extensibilitet
- Definiera API-kontrakt för integration med recipe-app (t.ex. POST /api/todo/from-recipe, schema för item-data).
- Lägg till möjlighet att skicka todo-poster från recipe-app (t.ex. via webhook eller direkt API-anrop).
- Förbered för framtida AI-funktioner (t.ex. smarta förslag, auto-kategorisering) med extensibel tjänstestruktur.
FAS 5: Testning och Verifiering
- Skriv integrationstester och E2E-tester för backend och frontend.
- Säkerställ DTO-validering och roll/accesskontroller.
- Testa fallback till SQLite (standalone-läge).
- Dokumentera testflöden och verifieringssteg.
Relevanta filer
todo-api/prisma/schema.prisma— datamodell och migreringartodo-api/src/main.ts,app.module.ts— bootstrap och modulstrukturtodo-api/src/todo/todo.controller.ts— REST endpointstodo-api/src/todo/todo.service.ts— affärslogiktodo-api/Dockerfile,.dockerignore— Dockeriseringtodo-flutter/lib/— Flutter-klientens kod- compose.yml,
compose.override.yml— Compose-integration
Verifiering
- Alla endpoints kräver JWT och filtrerar på userId.
- CRUD på listor/items fungerar i både MariaDB och SQLite-läge.
- Flutter-klienten kan logga in, visa, skapa och markera todo-poster.
- Integration med recipe-app: poster kan skickas och dyker upp i todo-listan.
- Health endpoints och Docker healthchecks fungerar.
- Alla tester (integration/E2E) passerar.
Beslut och avgränsningar
- Scope: Enkel todo/shopping-lista, användarscope, tight integration, men ingen avancerad AI/UX i v1.
- Exkluderar: Mobilappar, avancerad AI, komplexa adminflöden, realtidsuppdateringar.
- Följer recipe-apps patterns för auth, API, Docker, Compose, testning och lokalisering.
Vidare överväganden
- Hur ska användar-identity hanteras i standalone-läge? Rekommendation: lokal User-tabell med enkel auth.
- Hur ska recipe-app skicka poster? Rekommendation: direkt API-anrop med JWT, schema-dokumentation.
- Hur mycket adminfunktionalitet behövs? Rekommendation: börja enkelt, utöka vid behov.
Vill du ha planen i ett annat format eller med ytterligare detaljer?