Une application web complète pour la réservation de services de barbier au Maroc, développée avec React, TypeScript, SQLite et Express.
- Inscription et Connexion : Système d'authentification sécurisé
- Recherche de Barbiers : Filtrage par services, localisation et type de prestation
- Réservation en Ligne : Réservation de créneaux avec sélection de services
- Gestion des RDV : Consultation, modification et annulation des rendez-vous
- Système de Favoris : Ajout et gestion des barbiers favoris
- Avis et Notes : Notation et commentaires sur les services
- Notifications : Rappels et alertes personnalisées
- Profil Utilisateur : Gestion des informations personnelles
- Profil Professionnel : Présentation des services et tarifs
- Gestion des Disponibilités : Planning et créneaux disponibles
- Offres Spéciales : Promotions et réductions personnalisées
- Historique des RDV : Suivi des réservations et clients
- React 18 avec TypeScript
- Vite pour le build et le développement
- Tailwind CSS pour le styling
- Lucide React pour les icônes
- React Router pour la navigation
- Node.js avec Express
- SQLite pour la base de données
- JWT pour l'authentification
- bcryptjs pour le hachage des mots de passe
- SQLite avec schéma relationnel complet
- Tables : Users, Barbers, Services, Appointments, Reviews, Favorites, etc.
- Cloner le projet
git clone <repository-url>
cd pixel-verse- Installer les dépendances
npm install- Lancer l'application
# Lancer le frontend et le backend en même temps
npm run dev:full
# Ou lancer séparément :
npm run dev # Frontend (port 8080)
npm run dev:server # Backend (port 3001)La base de données SQLite est automatiquement créée et initialisée avec des données de test :
- Utilisateurs : 5 comptes clients de test
- Barbiers : 4 barbiers avec profils complets
- Services : 10 services différents (coupe, barbe, soins, etc.)
- Réservations : Exemples de RDV passés et à venir
- Avis : Commentaires et notes d'exemple
users/ # Utilisateurs clients
barbers/ # Profils des barbiers
services/ # Services disponibles
barber_services/ # Services proposés par chaque barbier
appointments/ # Réservations
reviews/ # Avis clients
favorites/ # Barbiers favoris
notifications/ # Notifications système
PORT=3001 # Port du serveur backend
JWT_SECRET=your-secret-key # Clé secrète JWTPOST /api/auth/register- InscriptionPOST /api/auth/login- Connexion
GET /api/services- Liste des services
GET /api/barbers- Liste des barbiers (avec filtres)GET /api/barbers/:id- Détails d'un barbier
POST /api/appointments- Créer une réservationGET /api/appointments- Mes réservationsPUT /api/appointments/:id/cancel- Annuler une réservation
POST /api/favorites- Ajouter aux favorisDELETE /api/favorites/:id- Retirer des favorisGET /api/favorites- Mes favoris
GET /api/profile- Mon profilPUT /api/profile- Modifier mon profil
- Page d'Accueil (
/) - Présentation et recherche - Connexion (
/login) - Authentification - Inscription (
/signup) - Création de compte - Dashboard Client (
/dashboard) - Espace personnel - Blog (
/blog) - Articles et conseils
- Thème Sombre : Interface moderne avec fond noir/gris
- Couleurs : Orange ambré (#f59e0b) pour les accents
- Responsive : Adaptation mobile et desktop
- Animations : Transitions fluides et micro-interactions
- Authentification JWT : Tokens sécurisés
- Hachage des Mots de Passe : bcrypt avec salt
- Validation des Données : Vérification côté serveur
- CORS : Configuration sécurisée pour les requêtes
- Accéder à
http://localhost:8080 - Créer un compte ou se connecter
- Explorer les barbiers disponibles
- Effectuer une première réservation
- Filtrage : Par services, localisation, type de prestation
- Recherche : Nom de barbier, salon, spécialités
- Notifications : Rappels automatiques des RDV
- Historique : Suivi des réservations passées
# Build de l'application
npm run build
# Démarrage en production
npm startNODE_ENV=production
PORT=3001
JWT_SECRET=your-production-secret
DATABASE_URL=path/to/production.db- Fork le projet
- Créer une branche feature (
git checkout -b feature/AmazingFeature) - Commit les changements (
git commit -m 'Add AmazingFeature') - Push vers la branche (
git push origin feature/AmazingFeature) - Ouvrir une Pull Request
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Pour toute question ou problème :
- Email : contact@shopthebarber.ma
- Téléphone : +212 6 12 34 56 78
ShopTheBarber - La plateforme qui connecte les barbiers et clients à travers le Maroc 🇲🇦