<<<<<<< HEAD
THE SEVEN ENGINEER est un centre de formation à but non lucratif situé à Ngaoundéré, Cameroun. Nous offrons des formations pratiques en sciences de l'ingénieur, des services d'ingénierie et du matériel technique de qualité.
- Interface moderne avec Tailwind CSS
- Système d'authentification complet
- Catalogue de formations avec 10 pôles spécialisés
- Boutique en ligne pour matériel et équipements
- Panier et commandes avec gestion complète
- Tableau de bord utilisateur avec suivi des progrès
- Interface d'administration pour la gestion
- Système de messagerie en temps réel
- Responsive design pour tous les appareils
- API REST complète avec authentification JWT
- Base de données SQLite avec relations complètes
- Gestion des utilisateurs et rôles (admin/user)
- Système de formations avec leçons et progression
- Gestion des produits et stock
- Panier et commandes avec traitement automatique
- Messagerie entre utilisateurs et administrateurs
- Sécurité avec hashage des mots de passe
- Validation des données et gestion d'erreurs
- React 18 avec TypeScript
- Tailwind CSS pour le design
- React Router pour la navigation
- Context API pour la gestion d'état
- Lucide React pour les icônes
- Node.js avec Express
- SQLite pour la base de données
- JWT pour l'authentification
- bcryptjs pour le hashage des mots de passe
- CORS pour les requêtes cross-origin
- Multer pour l'upload de fichiers
- Node.js (version 16 ou supérieure)
- npm ou yarn
# Installer les dépendances
npm install
# Créer le fichier .env (déjà configuré)
# Les variables d'environnement sont dans .envnpm run dev:full# Terminal 1 - Frontend (port 5173)
npm run dev
# Terminal 2 - Backend (port 3001)
npm run dev:server- Frontend: http://localhost:5173
- Backend API: http://localhost:3001/api
- Health Check: http://localhost:3001/api/health
- Email: admin@example.com
- Mot de passe: admin
- Email: user@example.com
- Mot de passe: user
├── src/ # Frontend React
│ ├── components/ # Composants réutilisables
│ ├── contexts/ # Contexts React (Auth, Cart, etc.)
│ ├── pages/ # Pages de l'application
│ ├── services/ # Services API
│ └── ...
├── server/ # Backend Node.js
│ ├── database/ # Configuration base de données
│ ├── middleware/ # Middlewares Express
│ ├── routes/ # Routes API
│ └── uploads/ # Fichiers uploadés
├── .env # Variables d'environnement
└── package.json # Dépendances et scripts
POST /api/auth/login- ConnexionPOST /api/auth/register- InscriptionGET /api/auth/profile- Profil utilisateurPUT /api/auth/profile- Mise à jour profil
GET /api/courses- Liste des formationsGET /api/courses/:id- Détails d'une formationPOST /api/courses/:id/enroll- S'inscrire à une formationPOST /api/courses/:courseId/lessons/:lessonId/complete- Marquer une leçon terminée
GET /api/products- Liste des produitsGET /api/products/:id- Détails d'un produit
GET /api/cart- Contenu du panierPOST /api/cart/add- Ajouter au panierPUT /api/cart/update- Modifier quantitéDELETE /api/cart/remove- Supprimer du panierDELETE /api/cart/clear- Vider le panier
POST /api/orders- Créer une commandeGET /api/orders/my-orders- Mes commandesGET /api/orders/:id- Détails d'une commande
GET /api/messages- Mes messagesPOST /api/messages- Envoyer un messagePATCH /api/messages/:id/read- Marquer comme luGET /api/messages/unread-count- Nombre de messages non lus
- Parcourir et s'inscrire aux formations
- Suivre les cours avec vidéos et leçons
- Tracker sa progression
- Acheter du matériel technique
- Communiquer avec les formateurs
- Gérer les formations et leçons
- Gérer les produits et stock
- Suivre les commandes
- Gérer les utilisateurs
- Répondre aux messages
- Authentification JWT avec expiration
- Hashage des mots de passe avec bcrypt
- Validation des données côté serveur
- Protection CORS configurée
- Middleware d'authentification pour les routes protégées
- Séparation des rôles admin/utilisateur
L'application est entièrement responsive et s'adapte à tous les types d'écrans :
- Mobile (320px+)
- Tablette (768px+)
- Desktop (1024px+)
- Large screens (1280px+)
- Système de progression pour les formations
- Gestion automatique du stock lors des commandes
- Inscriptions automatiques aux cours lors de l'achat
- Messagerie en temps réel avec réponses automatiques
- Interface d'administration complète
- Système de panier persistant
- Génération de factures avec détails complets
Ce projet est développé pour THE SEVEN ENGINEER. Pour contribuer :
- Fork le projet
- Créer une branche feature (
git checkout -b feature/AmazingFeature) - Commit les changements (
git commit -m 'Add some AmazingFeature') - Push vers la branche (
git push origin feature/AmazingFeature) - Ouvrir une Pull Request
THE SEVEN ENGINEER
- Adresse: Ngaoundéré 3ème, Bini - Mini-cité la Marseillaise
- Téléphone: +237 674 13 66 97
- Email: contact@the7e.com