Logo Lanfrica

EvansNzati007/marchebio-backend

Domain:

socioeconomic

Record type:

software
Creator:
Eva
Host:
🌱 MarchéBio — Backend Place de marché numérique reliant producteurs locaux et acheteurs urbains, en réduisant les intermédiaires. Projet réalisé dans le cadre d'un projet tutoré (module de 30h) — Master 2 Génie Logiciel, ESGIS Gabon. # 🌱 MarchéBio — Backend Place de marché numérique reliant producteurs locaux et acheteurs urbains, en réduisant les intermédiaires. Projet réalisé dans le cadre d'un projet tutoré (module de 30h) — Master 2 Génie Logiciel, ESGIS Gabon. --- ## 🎯 Le projet Les producteurs de la périphérie peinent souvent à écouler leur production faute de canaux de distribution directs, tandis que les citadins cherchent des produits frais et locaux. **MarchéBio** connecte les deux directement : le producteur publie ses produits, l'acheteur parcourt, commande, et suit sa livraison. Ce dépôt contient le **backend** de l'application, dont je suis responsable au sein de l'équipe projet. --- ## ✨ Fonctionnalités (MVP) - 🔐 **Authentification** — inscription/connexion pour 3 profils : Producteur, Acheteur, Administrateur (JWT) - 📦 **Gestion des produits** — CRUD complet côté producteur (nom, prix, quantité, photo) - 🔍 **Catalogue & recherche** — parcours et recherche des produits côté acheteur - 🛒 **Panier & commande** — panier côté client, validation en commande avec lignes de commande - 📋 **Suivi des commandes** — statuts NOUVELLE → PRÉPARÉE → LIVRÉE - 🛠️ **Back-office administrateur** — supervision des utilisateurs, produits et commandes ### Bonus (si le temps le permet) - 💳 Paiement mobile simulé (Airtel Money / Moov Money) - ⭐ Notation des producteurs par les acheteurs - 📍 Géolocalisation des producteurs --- ## 🛠️ Stack technique - **NestJS** — framework backend (TypeScript) - **Prisma** — ORM - **MySQL** — base de données - **JWT** — authentification par tokens - **class-validator** — validation des données - **Swagger** — documentation de l'API --- ## 🏗️ Modélisation des données Le modèle s'articule autour de 5 entités : `User`, `Produit`, `Commande`, `LigneCommande`, `Evaluation`. Point clé : une commande peut contenir **plusieurs produits** grâce à l'entité `LigneCommande`, qui fige aussi le prix unitaire au moment de l'achat. ``` User (1) ----< (N) Produit …