Soumayakids
Web Validé

Soumayakids

Katim Toure · Cohorte16

Description du projet

SOUMAYA KIDS — DESCRIPTION COMPLÈTE DU PROJET ======================================================== 1. PRÉSENTATION GÉNÉRALE ------------------------------------------------------------------------------- Nom du projet : Soumaya Kids Slogan : « La mode et l'éveil de vos petits trésors au Sénégal » Type : Boutique en ligne (e-commerce) + espace d'administration Secteur : Mode enfant, chaussures, puériculture et jouets Boutique physique : Marché Dior, Terrain Accapess, Parcelles Assainies, Dakar Horaires : Lundi au samedi 09h00 - 20h30 · Dimanche 09h00 - 19h00 Téléphone/WhatsApp: 78 198 23 23 Monnaie : Franc CFA (FCFA) Réalisé par : KATIM-DEV Soumaya Kids est le site de vente en ligne d'une boutique de vêtements et d'articles pour enfants située à Dakar. Il permet aux parents de parcourir le catalogue, de choisir taille et quantité, de commander en ligne, de payer par Wave, Orange Money ou à la réception, et de suivre leurs commandes. Le personnel de la boutique dispose d'un espace d'administration complet pour gérer produits, commandes, clients, livraisons, factures et messages. 2. OBJECTIFS ------------------------------------------------------------------------------- - Donner à la boutique une vitrine en ligne ouverte 24h/24. - Permettre la commande à distance avec livraison à Dakar et dans les régions. - Proposer les moyens de paiement utilisés au Sénégal (Wave, Orange Money, paiement à la livraison). - Faciliter la gestion quotidienne : stock par taille, suivi des commandes, factures, rôles du personnel. - Rassurer et conseiller les clientes grâce à une assistante virtuelle. 3. CATALOGUE ------------------------------------------------------------------------------- Six catégories principales : 1. Bébés (0 - 24 mois) : bodies, pyjamas, accessoires de naissance 2. Filles (2 - 14 ans) : robes, ensembles, jupes, tenues de fête 3. Garçons (2 - 14 ans) : t-shirts, culottes, ensembles, chemises 4. Chaussures & Sandales : baskets, sandales, ballerines, chaussons 5. Puériculture & Soins : biberons, toilette bébé, lingettes, stérilisateurs 6. Jouets & Éveil : jeux éducatifs, peluches, hochets Chaque produit possède : nom, description, prix (et éventuel prix barré), plusieurs photos (une photo principale), et des variantes (taille / pointure) avec un stock propre à chaque variante. 4. FONCTIONNALITÉS CÔTÉ CLIENT (SITE PUBLIC) ------------------------------------------------------------------------------- Accueil - Mise en avant de la boutique (photo de la façade), des catégories et des produits phares. Catalogue et recherche - Liste de tous les produits, filtrage par catégorie, recherche par mot-clé. - Fiche produit détaillée : galerie photos, choix de la taille, stock disponible, ajout au panier. Panier - Ajout, modification des quantités, suppression, vidage du panier. - Choix de la taille directement depuis le panier. Commande (tunnel d'achat) - Saisie des coordonnées et de l'adresse de livraison. - Choix de la zone de livraison (frais calculés automatiquement). - Choix du mode de paiement. - Page de confirmation avec numéro de commande. - Téléchargement de la facture en PDF et du récapitulatif en Excel (.xlsx). Paiement - Wave : bouton qui ouvre l'application Wave sur le compte marchand Soumaya Kids avec le montant déjà rempli. - Orange Money : affichage du numéro marchand avec bouton « copier » et instructions (référence de commande à indiquer). - Paiement à la réception : le paiement anticipé par Wave / Orange Money reste proposé en option. Comptes clients - Inscription et connexion par e-mail / mot de passe. - Connexion « Continuer avec Google » et « Continuer avec Apple » (boutons affichés uniquement si les identifiants sont configurés). - Espace « Mon compte » : historique et détail des commandes, suivi du statut, modification du profil et du mot de passe. Pages d'information et de réassurance - À propos, Livraison, Retours, Conditions générales de vente (CGV), Contact (formulaire enregistré dans l'administration). - Carte Google Maps et lien d'itinéraire vers la boutique. - Contact rapide par WhatsApp. Assistante virtuelle « Soumaya » - Bulle de discussion présente sur le site. - Conseille sur les articles, les tailles selon l'âge, les pointures, le budget, la livraison et le paiement, à partir des vraies données du site (catalogue, stock, prix, zones de livraison). - Fonctionne avec l'IA Claude (Anthropic) lorsqu'une clé API est configurée ; sinon, un mode local sans IA analyse la question et répond à partir des données du site. - Limite de 40 messages par heure et conversation limitée à 12 échanges. 5. LIVRAISON ------------------------------------------------------------------------------- Zones et tarifs configurés : - Dakar Centre (Plateau, Médina, Fann, Point E, Mermoz) 2 000 FCFA — 24h — gratuite dès 50 000 FCFA - Banlieue proche (Parcelles Assainies, Grand Yoff, Guédiawaye, Pikine) 1 500 FCFA — 24h express — gratuite dès 40 000 FCFA - Grande banlieue (Keur Massar, Rufisque, Bargny, Diamniadio) 2 500 FCFA — 24h à 48h — gratuite dès 60 000 FCFA - Régions (Thiès, Mbour, Saint-Louis, Touba, Kaolack) 3 500 FCFA — 48h à 72h via relais - Retrait en boutique (Marché Dior) Gratuit — disponible sous 2h 6. ESPACE D'ADMINISTRATION ------------------------------------------------------------------------------- Accès séparé (/admin) avec connexion du personnel. Tableau de bord - Compteurs et statistiques de l'activité, dernières commandes, messages. - Recherche globale (commandes, produits, clients). Gestion des commandes - Liste, détail, changement du statut de commande et du statut de paiement. - Statuts de commande : En attente, Confirmée, En préparation, En livraison, Livrée, Annulée, Retour demandé, Retour traité. - Statuts de paiement : Non payée, Paiement en cours, Payée, Remboursée, Échec. Gestion des produits - Création, modification, activation / désactivation. - Variantes (tailles) avec stock. - Envoi de photos, choix de la photo principale, suppression de photos. Gestion des catégories : création, modification, suppression. Factures : consultation, téléchargement PDF et Excel. Clients : liste, activation / désactivation des comptes. Messages : messages du formulaire de contact (marquer lu, supprimer). Livraisons : vue dédiée aux livreurs. Utilisateurs : création des comptes du personnel, attribution des rôles, réinitialisation des mots de passe. Rôles et permissions : Produits Commandes Clients Paiements Livraison Utilisateurs Stats Administrateur Oui Oui Oui Oui Oui Oui Oui Gestionnaire Oui Oui Non Non Non Non Non Service client Non Consultation Oui Non Non Non Non Livreur Non Consultation Consultation Non Oui Non Non Chaque membre du personnel n'a que les droits nécessaires à sa mission ; le livreur arrive directement sur la page des livraisons. 7. ARCHITECTURE TECHNIQUE ------------------------------------------------------------------------------- Langage : PHP 8 (sans framework, sans Composer) Base de données: MySQL / MariaDB (PDO, requêtes préparées) Serveur : Apache (XAMPP en local), réécriture d'URL par .htaccess Front-end : HTML, CSS (style.css, admin.css), JavaScript (app.js), icônes Font Awesome Organisation : architecture MVC maison - app/Core : routeur, base de données, session, authentification, permissions, protection CSRF, rendu des vues - app/Controllers : contrôleurs du site et de l'administration - app/Models : Produit, Catégorie, Commande, Utilisateur, Zone de livraison, Message de contact - app/Services : assistante IA, assistante locale, facture PDF, export Excel, connexion Google / Apple - views : gabarits (layouts), partiels, pages publiques et admin - config : configuration générale, routes, base de données - database : schéma SQL, données initiales, installation, migrations - public : CSS, JS, images, photos des produits (uploads) - storage : factures générées et journaux d'erreurs Tables de la base : users, categories, products, product_images, product_variants, delivery_zones, orders, order_items, payments, stock_movements, reviews, settings, audit_logs, contact_messages, login_attempts. Particularités : - Factures PDF et fichiers Excel générés sans aucune bibliothèque externe (accents français pris en charge). - Appel direct à l'API Claude en HTTP (cURL). - Suivi des mouvements de stock (vente, réassort, retour, ajustement, perte). - Journal d'audit des actions. 8. SÉCURITÉ ------------------------------------------------------------------------------- - Mots de passe chiffrés (hachage), protection CSRF sur tous les formulaires. - Blocage du compte après 5 tentatives de connexion échouées (15 minutes). - Requêtes SQL préparées (protection contre les injections SQL). - Échappement de l'affichage (protection XSS). - Dossiers internes (app, config, views, database, storage) inaccessibles depuis le web ; fichiers sensibles (.sql, .md, .log, config) bloqués. - En-têtes de sécurité HTTP (nosniff, anti-iframe, Referrer-Policy). - Clés et mots de passe hors du code (config/local.php non versionné ou variables d'environnement). - Validation de l'hôte pour éviter l'injection d'en-tête Host. - Mode production par défaut : erreurs masquées et enregistrées dans un journal. 9. INSTALLATION ------------------------------------------------------------------------------- 1. Copier le projet dans le dossier web (ex. C:\xampp\htdocs\soumayakids). 2. Copier config/local.example.php en config/local.php et renseigner les accès à la base (et, si souhaité, les clés Claude, Google, Apple). 3. Créer la base : php database/install.php Réinitialiser la base : php database/install.php --reset Mot de passe admin : php database/install.php --admin-password Mettre à jour la base : php database/migrate.php 4. Ouvrir http://localhost/soumayakids dans le navigateur. 10. ÉLÉMENT ANNEXE ------------------------------------------------------------------------------- Le dossier video-katimdev contient les scripts Python (voix.py, video.py) qui génèrent une vidéo de présentation de KATIM-DEV (1920x1080, voix off, captures du site) : katimdev-presentation.mp4. 11. ÉVOLUTIONS POSSIBLES ------------------------------------------------------------------------------- - Confirmation automatique des paiements Wave / Orange Money (API marchande). - Notifications SMS / WhatsApp à chaque changement de statut. - Avis clients sur les produits (table déjà prévue). - Codes promo et programme de fidélité. - Mise en ligne sur un hébergement avec HTTPS et nom de domaine.

Projet en ligne

https://soumayakids.com

Voir le site en ligne

Appréciation

Bonjour Katim, Ton projet est validé sur SunuDepot. Félicitations pour le travail accompli ! Conseil important pour la soutenance : Assure-toi de bien mémoriser tous tes identifiants de connexion et de maîtriser ton application pour pouvoir faire une démonstration fluide et sans stress le jour J. Bonne préparation pour ta soutenance !