Backend de l'application FRNY, une plateforme e-commerce permettant la mise en relation entre vendeurs et acheteurs.
- Système d'inscription et connexion pour les utilisateurs et vendeurs
- Protection des routes avec JWT
- Gestion des sessions avec cookies
- CRUD complet pour les articles
- Gestion des images avec Cloudinary
- Système de catégorisation
- Gestion des stocks
- Création de commandes sécurisées
- Suivi de statut des commandes
- Validation des stocks
- Historique des commandes par utilisateur et par vendeur
- Intégration avec Stripe
- Gestion des transactions sécurisées
- Système de remboursement
- Webhooks pour le suivi des paiements
- Node.js & Express.js - Framework backend
- MongoDB & Mongoose - Base de données et ODM
- JWT - Authentification
- Bcrypt - Hashage des mots de passe
- Cloudinary - Gestion des images
- Stripe - Système de paiement
- Dotenv - Gestion des variables d'environnement
src/
├── controllers/ # Logique métier
├── models/ # Modèles de données
├── middleware/ # Middlewares (auth, validation)
├── routes/ # Définition des routes
├── utils/ # Utilitaires
├── lib/ # Configurations externes
└── index.js # Point d'entrée
- Clonez le repository
git clone https://github.com/elhalj/frny_back.git
cd frny_back- Installez les dépendances
npm install- Configurez les variables d'environnement
cp .env.example .env
# Remplissez les variables dans .env- Démarrez le serveur
npm start- name
- firstName
- password (hashé)
- address (city, municipality, street)
- name
- firstName
- password (hashé)
- address (city, municipality, number)
- gender
- profilePic
- name
- price
- details
- category
- stock
- rate
- image
- vendor (référence)
- user (référence)
- article (référence)
- quantity
- totalPrice
- status
- vendor (référence)
POST /api/article/add- Ajouter un article (vendeur)GET /api/article/get- Obtenir tous les articlesGET /api/article/getArticle/me- Obtenir les articles d'un vendeurPUT /api/article/update/:id- Mettre à jour un articleDELETE /api/article/delete/:id- Supprimer un article
POST /api/commande/- Créer une commandeGET /api/commande/user- Obtenir les commandes d'un utilisateurGET /api/commande/vendor- Obtenir les commandes d'un vendeurPATCH /api/commande/:id/status- Mettre à jour le statut d'une commande
- Routes utilisateur:
/api/user/ - Routes vendeur:
/api/vendor/
- Authentification JWT
- Protection des routes
- Hashage des mots de passe
- Validation des données
- Gestion sécurisée des paiements
- Protection CORS
- Système de notifications
- Gestion des retours
- Système de notation des vendeurs
- Gestion des promotions
- Système de recherche avancé
MIT © [elhalj]