Files
Mathew 01a0f1029f Initial commit: app Fideliter client (Flutter)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 21:32:39 +02:00

2.4 KiB

Ma fidélité — App client

App mobile (Flutter) pour les clients du programme de fidélité. Le client crée son compte lui-même, obtient sa carte de fidélité (QR code), suit ses points et voit les récompenses qu'il peut obtenir.

Backend : Supabase — le même projet que l'app magasin app_fideliter. Les points ajoutés en caisse apparaissent côté client au rafraîchissement.

Parcours

  1. Accueil : choix « Créer un compte » ou « J'ai déjà un compte ».
  2. Création de compte : email + mot de passe + nom (+ téléphone). Le code de fidélité et le QR sont générés automatiquement côté serveur — le gérant n'a rien à saisir.
  3. Accueil client : carte avec le solde de points, le QR code à présenter en caisse, la progression vers chaque récompense, et l'historique.

Sécurité : un client ne peut voir que ses données et ne peut pas modifier ses points (règles RLS + triggers Supabase, voir schema.sql de l'app magasin).

Configuration

Même projet Supabase que l'app magasin. Voir ../app_fideliter/supabase/SETUP.md. Coller l'URL + la clé anon dans lib/supabase_config.dart (les mêmes valeurs que l'app magasin).

Techno

  • Flutter (Material 3, même thème que l'app magasin)
  • supabase_flutter (auth client + données), qr_flutter (affichage du QR)

Lancer l'app

flutter run

Structure

lib/
├── main.dart                          # init (locale fr, Supabase) + thème
├── supabase_config.dart               # URL + clé anon (À REMPLIR)
├── theme.dart
├── models/                            # client, mouvement, recompense
├── services/
│   └── session_client.dart           # données du client connecté (points, historique…)
├── screens/
│   ├── auth_gate.dart                 # accueil ↔ profil ↔ app selon la session
│   ├── welcome_screen.dart            # choix connexion / création de compte
│   ├── login_screen.dart
│   ├── signup_screen.dart
│   ├── complete_profile_screen.dart   # finalisation du profil (après confirmation email)
│   └── home_client_screen.dart        # carte de fidélité (points + QR), récompenses, historique
└── utils/format.dart