Skip to content

fordimalanda/nexus-store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛒 Nexus Store - Plateforme E-Commerce Microservices

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.


🏗️ Architecture du Projet

Le projet est divisé en 4 applications distinctes et 1 base de données :

  1. Base de Données : MySQL (Script de création fourni : db.sql).
  2. 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.
  3. 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.
  4. Frontend 1 (Web) : Construit avec React & Next.js + TailwindCSS. Interface web premium, responsive, avec d'excellentes performances SEO.
  5. 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.

🚀 Guide de Démarrage Rapide

Ces étapes supposent que vous êtes sous Windows et que vous disposez de MySQL, Node.js, Python et Flutter installés sur votre machine.

Étape 1 : Initialiser la Base de Données

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).


Étape 2 : Démarrer le Backend Python (FastAPI) - 📍 Port 8000

Ce service permet l'accès instantané aux produits.

  1. Ouvrez un nouveau terminal.
  2. Allez dans le dossier backend-fastapi :
cd backend-fastapi
pip install -r requirements.txt
uvicorn main:app --reload --port 8000

Étape 3 : Démarrer le Backend Node.js (NestJS) - 📍 Port 3002

Ce service gère la sécurité et les transactions.

  1. Ouvrez un nouveau terminal.
  2. 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).


Étape 4 : Déployer l'Interface Web (Next.js) - 📍 Port 3000

Le site officiel accessible par tout navigateur.

  1. Ouvrez un nouveau terminal.
  2. Allez dans le dossier frontend :
cd frontend
npm install
npm run dev

👉 Accédez à l'application via : http://localhost:3000


Étape 5 : Lancer l'Application Bureau Windows (Flutter)

Le progiciel natif pour la gestion catalogue directement depuis le bureau.

  1. Ouvrez un nouveau terminal.
  2. 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).


🛠️ Modèles et API

  • 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é).

About

Architecture d'e-commerce bâtie selon les standards modernes, utilisant des microservices pour le backend et des interfaces multi-plateformes pour le frontend

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors