Programmation Web - Projet
1. Objectifs de l'application
• Pour les stylistes: Offrir une plateforme pour exposer leurs créations, présenter les prix et
détails des tenues, et faciliter la gestion des commandes.
• Pour les utilisateurs : Permettre de parcourir les créations, prendre leurs mesures via
l’application, vérifier la disponibilité des stylistes, et effectuer des paiements en ligne.
2. Fonctionnalités de l'application
2.1 Frontend (Angular)
1. Accueil
o Page d’accueil présentant les collections mises en avant, les stylistes populaires et les
offres spéciales.
o Carrousel de tenues en vedette.
2. Exploration des Tenues
o Affichage des tenues par catégories (par exemple : tenues traditionnelles, robes de
soirée, costumes).
o Filtrage par type de vêtement, styliste, prix, et disponibilité.
o Affichage des détails d'une tenue : description, prix, matériaux, délai de confection
estimé, photos haute qualité.
3. Profil des Stylistes
o Présentation des stylistes avec leurs photos, biographie, et style de confection.
o Liste de tenues créées par chaque styliste.
o Avis et évaluations pour chaque styliste, affichant des notes et commentaires.
4. Prise de Mesures
o Guide pour permettre aux utilisateurs de prendre leurs mesures avec précision
(vidéos explicatives / instructions).
o Option pour saisir et sauvegarder les mesures dans le profil de l'utilisateur.
o Possibilité de prendre une photo pour envoyer des mesures spécifiques à la
couturière.
5. Disponibilité des Couturières
o Affichage du calendrier de chaque couturière pour consulter ses disponibilités.
o Option de réservation d’une date pour une confection personnalisée.
6. Panier et Paiement
o Ajout des articles au panier avec un récapitulatif des tenues sélectionnées.
o Calcul des coûts en fonction des options de tenue (matériaux, customisations).
o Paiement sécurisé via mobile money (avec intégration de systèmes comme MTN
Mobile Money, Orange Money).
o Confirmation de commande envoyée par e-mail.
7. Espace Utilisateur
o Inscription et connexion des utilisateurs.
o Gestion du profil utilisateur : historique de commandes, mesures enregistrées,
adresses de livraison.
o Suivi des commandes en temps réel.
2.2 Backend (Laravel)
1. Gestion des Utilisateurs
o Enregistrement et connexion des utilisateurs.
o Rôles et permissions (utilisateurs vs stylistes).
o Gestion des données personnelles (mesures, préférences de confection, etc.).
2. Gestion des Produits
o Création et modification des tenues avec photos, descriptions détaillées, prix, et
délai estimé.
o Catégorisation des tenues et option de tags pour un meilleur filtrage.
3. Gestion des Mesures
o Sauvegarde des mesures individuelles des utilisateurs.
o Accès pour les stylistes afin de consulter les mesures pour chaque commande.
4. Réservation et Disponibilité
o Gestion de la disponibilité des stylistes et couturières.
o Intégration d’un système de réservation de créneaux horaires avec confirmation par
le styliste.
5. Commandes et Paiement
o Création de commandes pour chaque tenue sélectionnée.
o Calcul des coûts en fonction des personnalisations et options choisies.
o Intégration de services de paiement mobile money avec vérification et sécurisation.
o Suivi du statut de la commande (en attente, en cours de confection, terminée).
6. Notifications
o Notifications par e-mail et SMS pour les utilisateurs (confirmation de commande,
mise à jour de commande).
o Alertes pour les stylistes lors de nouvelles commandes ou changements de
réservation.
7. Gestion des Avis et Commentaires
o Fonction de commentaires pour que les clients puissent laisser des avis sur les
stylistes et leurs créations.
o Système de modération pour filtrer les commentaires.
3. Schéma de Base de Données (Exemple Simplifié)
1. Users
o id, nom, e-mail, mot de passe, rôle (utilisateur/styliste), mesures (JSON), etc.
2. Stylists
o id, user_id (référence vers users), biographie, spécialité, disponibilité, note moyenne,
etc.
3. Products (Tenues)
o id, styliste_id, nom, description, prix, catégories, délai de confection, photos (JSON).
4. Orders
o id, user_id, produit_id, styliste_id, statut (en attente, en cours, terminé), prix total,
date de commande.
5. Payments
o id, order_id, montant, date de paiement, statut de paiement.
6. Reviews
o id, produit_id, user_id, note, commentaire.
4. Exigences Techniques
1. Frontend : Angular pour le développement des interfaces et interactions dynamiques.
2. Backend : Laravel pour la gestion des données, la logique métier, et la communication
sécurisée entre le client et le serveur.
3. Base de données : MySQL pour la gestion des données relationnelles.
4. API : Création d’API RESTful avec Laravel pour toutes les opérations CRUD, avec JSON comme
format de réponse.
5. Sécurité :
o Authentification JWT pour sécuriser les communications.
o HTTPS pour les connexions, avec cryptage des données sensibles.