App Customers
Fonctionnalités
Guide détaillé des fonctionnalités de l'application Customers
Fonctionnalités
Authentification et Autorisation
Système d'Authentification
L'application utilise un système d'authentification JWT:
- Login: Authentification par email/mot de passe
- Register: Inscription avec validation des données
- Forgot Password: Récupération de mot de passe par email
- JWT Tokens: Access token + Refresh token
- Persistance: Tokens stockés dans le localStorage
- Auto-refresh: Renouvellement automatique des tokens
Rôles Utilisateurs
Trois rôles principaux:
- Guest: Visiteur non authentifié (lecture seule)
- Client: Utilisateur authentifié (peut acheter)
- Seller: Vendeur vérifié (peut vendre + acheter)
Marketplace de Services
Parcourir les Services
- Liste paginée: Affichage avec pagination
- Filtres: Par catégorie, prix, note, etc.
- Recherche: Recherche textuelle
- Tri: Par pertinence, prix, popularité
- Vues: Grid ou liste
Page de Détail Service
Informations complètes sur un service:
- Description riche (Quill.js)
- Galerie d'images
- Tarification et packages
- Profil du vendeur
- Avis et notes
- FAQ
- Services similaires
Catégories
- Navigation par catégories
- Sous-catégories
- Pages dédiées par catégorie
- Breadcrumbs pour la navigation
Processus d'Achat
Flow de Checkout
- Sélection du service: Choix du package
- Personnalisation: Options additionnelles
- Informations: Détails de la commande
- Paiement: Traitement du paiement
- Confirmation: Commande créée
Gestion des Commandes (Client)
- Mes Achats: Liste de toutes les commandes
- Détails: Informations complètes de la commande
- Statuts: Suivi de l'avancement
- Communication: Chat avec le vendeur
- Livraison: Téléchargement des fichiers livrés
- Évaluation: Noter et commenter le service
Espace Vendeur
Devenir Vendeur (KYC)
Processus en deux étapes pour devenir vendeur:
Étape 1: Informations Personnelles
- Nom complet
- Date de naissance
- Pays de résidence
- Numéro de téléphone
- Photo de profil
Étape 2: Vérification Identité
- Type de document (CNI, Passeport, Permis)
- Upload recto/verso
- Selfie avec document
- Validation par l'équipe
Création de Service
Wizard multi-étapes pour créer un service:
Étape 1: Informations de Base
- Titre du service
- Catégorie
- Description courte
- Tags/mots-clés
Étape 2: Description Détaillée
- Éditeur riche (Quill.js)
- Ce qui est inclus
- Processus de travail
- FAQ
Étape 3: Tarification
- Packages (Basic, Standard, Premium)
- Prix pour chaque package
- Délai de livraison
- Révisions incluses
Étape 4: Médias
- Images du service (min 1, max 5)
- Vidéo de présentation (optionnel)
- Portfolio/exemples
Étape 5: Options Supplémentaires
- Options payantes additionnelles
- Conditions de service
- Requirements du client
Dashboard Vendeur
Vue d'Ensemble
- Statistiques de vente
- Graphiques de revenus
- Commandes récentes
- Notifications
Gestion des Services
- Liste des services publiés
- Modifier/Supprimer services
- Statistiques par service
- Activer/Désactiver services
Gestion des Commandes
- Commandes en cours
- Historique complet
- Filtres par statut
- Actions rapides (accepter, livrer, etc.)
Facturation
- Liste des factures
- Téléchargement PDF
- Historique des paiements
- Rapports fiscaux
Wallet
- Solde disponible
- Revenus en attente
- Historique des transactions
- Demandes de retrait
- Méthodes de paiement
Communication Real-time
Chat Intégré
Système de messagerie instantanée:
- Conversations: Client ↔ Vendeur
- Messages texte: Envoi/réception en temps réel
- Partage de fichiers: Upload de documents/images
- Notifications: Alertes de nouveaux messages
- Historique: Sauvegarde des conversations
- Indicateurs: Vu/Non vu, En train d'écrire...
Notifications
Types de notifications:
- Nouvelle commande
- Mise à jour de commande
- Nouveau message
- Service approuvé/rejeté
- Payout traité
Profils Utilisateurs
Profil Public
Visible par tous les utilisateurs:
- Avatar et bannière
- Nom et pseudonyme
- Bio/Description
- Services (si vendeur)
- Avis reçus
- Note globale
- Membre depuis
Profil Privé
Paramètres personnels:
- Informations personnelles
- Email et téléphone
- Mot de passe
- Préférences de notification
- Langue préférée
- Visibilité du profil
Internationalisation
Langues Supportées
- Français (fr): Langue par défaut
- Anglais (en): Langue secondaire
Changement de Langue
- Sélecteur dans le header
- Routing automatique (
/fr/...ou/en/...) - Persistance de la préférence
- Traduction complète de l'interface
Traductions
Fichiers de traduction organisés par namespace:
- Common: Éléments communs
- Auth: Authentification
- Services: Marketplace
- Orders: Commandes
- Profile: Profil
- Etc.
Recherche et Filtres
Recherche
- Recherche textuelle: Dans titres et descriptions
- Suggestions: Autocomplétion
- Recherche avancée: Filtres combinés
Filtres Disponibles
- Catégorie: Filtrer par catégorie/sous-catégorie
- Prix: Plage de prix min/max
- Délai de livraison: Durée estimée
- Note du vendeur: Note minimum
- Langue du vendeur: Langue de communication
- Niveau du vendeur: Nouveau, Confirmé, Pro, Top
Système de Reviews
Avis Clients
Après une commande complétée:
- Note de 1 à 5 étoiles
- Commentaire textuel
- Critères détaillés (communication, qualité, délais)
- Photos/screenshots (optionnel)
Affichage des Avis
- Liste des avis sur la page service
- Tri (plus récents, meilleurs, etc.)
- Filtrage par note
- Réponse du vendeur possible
- Badge "Achat vérifié"
Statistiques et Analytics
Pour les Vendeurs
Tableau de bord avec:
- Vues du profil/services
- Taux de conversion
- Revenus totaux/mensuels
- Commandes par statut
- Note moyenne
- Temps de réponse moyen
Graphiques
- Revenus dans le temps
- Commandes par catégorie
- Performance des services
- Sources de traffic
Système de Wallet
Fonctionnalités
- Solde: Visualisation du solde disponible
- Revenus en attente: Fonds bloqués temporairement
- Historique: Toutes les transactions
- Retraits: Demandes de payout
- Méthodes de paiement: Carte, virement, mobile money
Processus de Retrait
- Vérifier le solde disponible
- Demander un retrait
- Choisir la méthode de paiement
- Validation par l'équipe (24-48h)
- Paiement effectué
Sécurité
Mesures de Sécurité
- HTTPS: Toutes les communications chiffrées
- JWT: Tokens sécurisés
- CSRF Protection: Tokens anti-CSRF
- Input Validation: Validation côté client et serveur
- Rate Limiting: Protection contre le spam
- File Upload Security: Validation des types de fichiers
- XSS Protection: Sanitization des entrées
Performance
Optimisations
- Code Splitting: Chargement optimisé
- Image Optimization: next/image
- Lazy Loading: Composants et images
- Caching: React Query cache
- ISR: Incremental Static Regeneration
- CDN: Assets statiques sur CDN