# 🍕 Pizza Rico - Timeline & Roadmap

## ✅ Fonctionnalités Déjà Implémentées (Terminé)

### 1. Système de Pizzas (Catalogue)
- CRUD complet dans l'espace administration.
- Affichage du menu avec barre de recherche.
- Gestion des images (support des images locales via upload et des URLs externes).
- Système de mise en avant avec un badge "Spécialité".

### 2. Panier d'Achat
- Gestion complète via la session (`CartService`).
- Ajout de pizzas avec gestion des tailles (Petite / Grande).
- Calcul dynamique des totaux et des quantités.
- Extension Twig pour affichage des compteurs en temps réel dans la navigation.

### 3. Système de Commande
- Transformation du panier en commande physique (Base de données).
- Génération d'une référence unique.
- Gestion des statuts de commande (En attente, En préparation, Livrée, Annulée).
- Sauvegarde du détail de chaque article commandé (`CommandeItem`).

### 4. Espace Client (Profil)
- Tableau de bord d'accueil avec encart de la dernière commande.
- Modification des informations personnelles et du mot de passe.
- Historique complet des commandes avec stepper visuel d'avancement.
- Formulaire permettant de laisser un avis client.

### 5. Espace Administration
- **Dashboard** : Statistiques globales dynamiques (revenus, visites, utilisateurs) et graphique des 7 derniers jours.
- **Gestion des Commandes** : Filtres par période (jour, semaine, mois) et barre de recherche par utilisateur/référence.
- **Cloche de notification** : Indicateur en temps réel du nombre de commandes "En attente".
- **Témoignages** : Modération des avis clients avant publication sur la page d'accueil.
- **Utilisateurs** : Gestion des membres inscrits.

---

## 🚀 Prochaines Étapes Suggérées (Roadmap)

### Phase 1 : Tunnel de Commande (Checkout)
Actuellement, la commande est directe. Il faut structurer la validation.
- [ ] Ajouter une étape "Mode de retrait" : Livraison à domicile ou Retrait sur place (Click & Collect).
- [ ] Saisie des informations de livraison (Adresse, Code Postal, Ville, Numéro de téléphone).
- [ ] Choix du créneau horaire de retrait/livraison.
- [ ] *(Optionnel)* Intégration d'un module de paiement en ligne (ex: Stripe) ou choix "Paiement à la livraison".

### Phase 2 : Système de Notifications (Mailer)
Tenir informé le client et le restaurateur des différentes étapes.
- [ ] Envoi d'un email de confirmation automatique au client après validation de sa commande.
- [ ] Envoi d'un email au client lorsque le statut de sa commande change (ex: passe à "En préparation" ou "Prête").
- [ ] Envoi d'un email récapitulatif à l'administrateur pour chaque nouvelle commande reçue.

### Phase 3 : Gestion des Stocks et Indisponibilités
Gérer les ruptures de stock pour éviter les commandes impossibles à honorer.
- [ ] Ajouter un champ `isDisponible` (booléen) sur l'entité `Pizza`.
- [ ] Griser visuellement la pizza sur la page "Menu" si elle est indisponible.
- [ ] Désactiver le bouton "Ajouter au panier" pour les pizzas en rupture.

### Phase 4 : Sécurité & Légal (Polissage)
Rendre l'application prête pour la mise en production légale et sécurisée.
- [ ] Implémenter la fonctionnalité "Mot de passe oublié" (Reset Password Bundle).
- [ ] Création de la page "Mentions Légales".
- [ ] Création de la page "Conditions Générales de Vente (CGV)".
- [ ] Création de la page "Politique de confidentialité (RGPD)".
- [ ] Ajout d'une bannière de consentement des cookies.