diff --git a/flutter/README.md b/flutter/README.md index 4ffc0bef..994fa1aa 100644 --- a/flutter/README.md +++ b/flutter/README.md @@ -1,6 +1,6 @@ -# Flutter Frontend - User Guide +# Flutter Frontend - Användarguide -This README describes how to use the Flutter frontend for Recipe App from a user and operator perspective. +Detta dokument beskriver hur du använder Flutter-frontenden för Recipe App ur ett användar- och operatörsperspektiv. ## Senaste ändringar (2026-04-25) @@ -18,6 +18,33 @@ This README describes how to use the Flutter frontend for Recipe App from a user - **User-scope för pantry och matplan** — Alla baslager- och matplansdata är nu per användare (inte globala). - **UI/UX-förbättringar** — Produktval med bottenark (ProductPickerField), swipe-för-±1 på inventarielistan (SwipeableInventoryTile), och förbättrad felhantering. +## Vad appen är + +Flutter-webben för Recipe App är en webbklient byggd med Flutter och körs i Docker med Caddy som proxy. Den är avsedd att ersätta den befintliga Next.js-frontenden och stödja framtida mobilklienter. + +## Aktuella användarflöden +- Inloggning med användarnamn och lösenord. +- Receptlista efter inloggning. +- Profil-sida (grundversion). +- Utloggning från recept- och profil-sidor. + +## Var man kommer åt appen +- Testmiljö: `https://test.gynther.se` + +## Inloggningsdetaljer +- Inloggning förväntar sig användarnamn, inte e-post. +- Exempel på seedad admin-användare i backend: `Nadmin`. +- Lösenordet kontrolleras av servermiljövariabeln (`ADMIN_NADMIN_PASSWORD`). + +## Kända begränsningar +- Kvittoimport (Fas 6b) är påbörjad men granskningssteg och bulk-spara återstår. +- Bildimport kräver att containrar är uppdaterade med senaste kod — kontrollera att diagnostikloggar syns vid felsökning. +- Vissa adminfunktioner och avancerad AI-integration är planerade men ej migrerade. + +## Felsökning (användarnivå) +1. Om sidan visar gammalt beteende efter deployment: hård uppdatering eller öppna i inkognitoläge. +2. Om inloggning misslyckas: verifiera användarnamn/lösenord (inte e-post). + ## Relaterade dokument - [next_steps_flutter.md](next_steps_flutter.md) - [teknisk_beskrivning_flutter.md](teknisk_beskrivning_flutter.md) diff --git a/flutter/next_steps_flutter.md b/flutter/next_steps_flutter.md index edd7f3d6..db0e101f 100644 --- a/flutter/next_steps_flutter.md +++ b/flutter/next_steps_flutter.md @@ -9,12 +9,11 @@ - Sprint 2: Användare-fliken stödjer nu Premium av/på direkt från användarmenyn. - Kodkvalitet: Inga absoluta Windows-sökvägar. - Dokumentation och next_steps uppdaterade. -# Next Steps: Flutter-migrering +# Nästa steg: Flutter-migrering Relaterade dokument: -- [flutter/README.md](flutter/README.md) +- [README.md](README.md) - [teknisk_beskrivning_flutter.md](teknisk_beskrivning_flutter.md) -- [TEKNISK_BESKRIVNING.md](TEKNISK_BESKRIVNING.md) ## Mål och prioriteringar för produktion @@ -30,6 +29,20 @@ Relaterade dokument: 3. Migreringen sker i Flutter-spåret som separat klient mot befintliga API-kontrakt. 4. Next-frontend körs parallellt tills Flutter har verifierad parity i kärnflöden. +## Arbetsplan + +### Pågående arbete +- **Kvittoimport (Fas 6b):** Påbörjad men granskningssteg och bulk-spara återstår. +- **Bildimport:** Säkerställa att containrar är uppdaterade med senaste kod och att diagnostikloggar syns vid felsökning. +- **Adminfunktioner:** Avancerad AI-integration och ytterligare adminfunktioner planeras men är ej migrerade. + +### Prioriterade nästa steg +1. Slutför kvittoimport och bulk-spara. +2. Säkerställa robust bildimport och diagnostik. +3. Implementera avancerad AI-integration för produktkategorisering. +4. Utöka adminfunktioner för användarhantering och produktadministration. +5. Förbättra UI/UX för användarflöden, inklusive onboarding och profilhantering. + ## Beslut 2026-04-22 - User-scope för pantry och matplan - Pantry och matplan ska vara per användare, inte globala. diff --git a/flutter/teknisk_beskrivning_flutter.md b/flutter/teknisk_beskrivning_flutter.md index 4d9822aa..e7f796c0 100644 --- a/flutter/teknisk_beskrivning_flutter.md +++ b/flutter/teknisk_beskrivning_flutter.md @@ -21,6 +21,39 @@ Viktigt att komma ihåg vid implementering av nya funktioner och kodning är att - Web först, men med arkitektur som kan återanvändas för Android/iOS. - Stegvis migrering av funktioner från befintlig Next.js-frontend. +## Arkitektur + +### Lager +- **Presentation:** Skärmar och widgets i `flutter/lib/features/*/presentation`. +- **State/Application:** Riverpod providers/notifiers i `flutter/lib/features/*/data`. +- **Data/API:** `ApiClient` i `flutter/lib/core/api`. +- **Platform abstraction:** Token storage interface i `flutter/lib/core/platform`. + +### Routing +- GoRouter i [flutter/lib/core/router/app_router.dart](flutter/lib/core/router/app_router.dart). +- Nuvarande routes: + - `/login` — loginskärm + - `/recipes` — receptlista (ShellRoute med AppShell) + - `/recipes/create` — nytt recept, utanför ShellRoute + - `/recipes/:id` — receptdetalj, utanför ShellRoute + - `/recipes/:id/edit` — redigera recept, utanför ShellRoute + - `/profile` — profil (ShellRoute med AppShell) +- `/recipes/create` måste vara listad före `/recipes/:id` i routelistan för att undvika konflikt. +- Detaljsidor (detalj, skapa, redigera) ligger utanför ShellRoute för att få full-screen med automatisk back-knapp. + +### Auth +- Login endpoint: `POST /api/auth/login`. + +## Övrigt +- **Kvittoimport (Fas 6b):** Påbörjad men granskningssteg och bulk-spara återstår. +- **Bildimport:** Säkerställa att containrar är uppdaterade med senaste kod och att diagnostikloggar syns vid felsökning. +- **Adminfunktioner:** Avancerad AI-integration och ytterligare adminfunktioner planeras men är ej migrerade. + +## Syfte och mål +- Isolerad Flutter-baserad frontend i separat Docker-service. +- Web först, men med arkitektur som kan återanvändas för Android/iOS. +- Stegvis migrering av funktioner från befintlig Next.js-frontend. + ## Relaterade dokument - [next_steps_flutter.md](next_steps_flutter.md) - [README.md](README.md)