Application e-commerce Symfony complète
| Entité | Propriétés principales | Relations |
|---|---|---|
| User | id, email, password, roles | orders (OneToMany) |
| Product | id, name, description, price, stock, image | category (ManyToOne), subCategory (ManyToOne), addProductHistories (OneToMany) |
| Category | id, name | products (OneToMany), subCategories (OneToMany) |
| SubCategory | id, name | category (ManyToOne), products (OneToMany) |
| Order | id, total, status, createdAt | user (ManyToOne), orderProducts (OneToMany), city (ManyToOne) |
| OrderProducts | id, quantity, price | order (ManyToOne), product (ManyToOne) |
| AddProductHistory | id, quantity, addedAt | product (ManyToOne) |
| City | id, name | orders (OneToMany) |
| Route | Méthode | Description |
|---|---|---|
| / | GET | Page d'accueil avec catalogue de produits |
| /product/{id} | GET | Détails d'un produit |
| /register | GET, POST | Inscription |
| /login | GET, POST | Connexion |
| /cart | GET | Panier d'achat |
| Route | Méthode | Description |
|---|---|---|
| /cart/add/{id} | POST | Ajouter au panier |
| /cart/remove/{id} | POST | Retirer du panier |
| /order | GET, POST | Passer une commande |
| /orders | GET | Historique des commandes |
| /order/{id}/bill | GET | Facture d'une commande (PDF) |
| Route | Méthode | Description |
|---|---|---|
| /stripe/checkout | GET, POST | Page de paiement Stripe |
| /stripe/success | GET | Succès du paiement |
| /stripe/cancel | GET | Annulation du paiement |
| Route | Méthode | Description |
|---|---|---|
| /admin/products | GET | Liste des produits (admin) |
| /admin/products/new | GET, POST | Créer un produit |
| /admin/products/{id}/edit | GET, POST | Modifier un produit |
| /admin/categories | GET | Gestion des catégories |
| /admin/users | GET | Gestion des utilisateurs |
Créer `.env.local` :
Création correcte des relations entre entités (OneToMany, ManyToOne).
Configuration et utilisation correcte du SDK Stripe PHP.
Génération de factures PDF avec Dompdf.
Sauvegarde du panier en session et persistance entre les requêtes.
Implémentation de la pagination sur la liste des produits.
Upload et stockage des images de produits.
Ce projet constitue une application e-commerce complète et fonctionnelle, démontrant une maîtrise approfondie du framework Symfony et des concepts de développement web moderne. L'application intègre tous les composants essentiels d'un site e-commerce : gestion de produits, panier, commandes, paiement sécurisé, et administration.
Prochaines étapes : Amélioration de l'interface utilisateur, ajout de fonctionnalités avancées (recherche, avis, favoris), optimisation des performances, et transformation en API REST pour application mobile.