Bienvenue dans le projet d'exercice Nexus Store ! Ce projet est une architecture d'e-commerce bâtie selon les standards modernes, utilisant des microservices pour le backend et des interfaces multi-plateformes pour le frontend.
Le projet est divisé en 4 applications distinctes et 1 base de données :
- Base de Données : MySQL (Script de création fourni :
db.sql). - Backend 1 (Produits) : Construit en Python avec FastAPI. Super léger et ultra-rapide, il est dédié à l'affichage et la recherche du catalogue des produits.
- Backend 2 (Core/Utilisateurs) : Construit en Node.js avec NestJS. Il gère la logique d'authentification (login/enregistrement), les paniers des utilisateurs et les commandes.
- Frontend 1 (Web) : Construit avec React & Next.js + TailwindCSS. Interface web premium, responsive, avec d'excellentes performances SEO.
- Frontend 2 (Desktop) : Construit avec Flutter (Windows Natif). Un client lourd optimisé pour un affichage "plein écran" qui s'installe directement sur l'ordinateur Windows.
Ces étapes supposent que vous êtes sous Windows et que vous disposez de MySQL, Node.js, Python et Flutter installés sur votre machine.
Vous devez créer la base ecommerce_db et ses tables. Ouvrez un terminal à la racine (c:/Users/Dell/Desktop/e) et importez le code SQL.
mysql -u root -e "source db.sql"(Aucun mot de passe n'est attendu. Si vous avez un mot de passe, rajoutez -p).
Ce service permet l'accès instantané aux produits.
- Ouvrez un nouveau terminal.
- Allez dans le dossier
backend-fastapi:
cd backend-fastapi
pip install -r requirements.txt
uvicorn main:app --reload --port 8000Ce service gère la sécurité et les transactions.
- Ouvrez un nouveau terminal.
- Allez dans le dossier
backend-nestjs:
cd backend-nestjs
npm install
npm run start:dev(Nous avons changé le port par défaut à 3002 pour éviter les conflits avec le Frontend Web).
Le site officiel accessible par tout navigateur.
- Ouvrez un nouveau terminal.
- Allez dans le dossier
frontend:
cd frontend
npm install
npm run dev👉 Accédez à l'application via : http://localhost:3000
Le progiciel natif pour la gestion catalogue directement depuis le bureau.
- Ouvrez un nouveau terminal.
- Allez dans le dossier
frontend_desktop:
cd frontend_desktop
flutter run -d windows(Si vous désirez créer un .exe définitif à partager : exécutez flutter build windows).
- Produits (FastAPI -
http://localhost:8000)GET /products: Liste tous les produits (avec image, description, prix).GET /products/{id}: Récupère un produit spécifique.
- Utilisateurs & Commandes (NestJS -
http://localhost:3002)POST /users/register: Création de compte.POST /users/login: Authentification.GET /cart: Accéder à son panier.POST /orders: Valider la commande.
Note : Les API communiquent en direct avec la base MySQL ecommerce_db et autorisent les requêtes inter-origines (CORS activé).