Une plateforme e-commerce complète avec backend Django REST Framework et frontend HTML/CSS/JavaScript.
Cette plateforme e-commerce offre une solution complète pour gérer un marketplace en ligne avec des fonctionnalités avancées pour les vendeurs et les clients.
- 📝 Gestion de profil : Profil complet avec photo de profil, photo de couverture, bio
- 🛍️ Gestion des produits : Ajout, modification et suppression de produits
- 📸 Média : Support d'images et vidéos pour les produits
- 💬 Intégration sociale : Liens WhatsApp et Facebook
- ⭐ Système d'avis : Réception et gestion des avis clients
- 👤 Profil utilisateur : Gestion de compte avec photo de profil
- 🛒 Panier et commandes : Système de commandes complet
- ❤️ Liste de souhaits : Sauvegarde de produits favoris
- 👥 Système d'amis : Suivre des vendeurs préférés
- ⭐ Avis et notes : Évaluation des produits et vendeurs
- 🔔 Notifications : Système de notifications en temps réel
- 📦 Gestion des commandes : Suivi complet du statut (en attente, confirmée, expédiée, livrée, annulée)
- 🚚 Système de livraison : Gestion complète des livraisons avec adresses et frais
- 🏷️ Catégories : Organisation des produits par catégories
- 💰 Prix négociable : Système de prix minimum pour négociation
ecom-front-backend/
├── ecommerce/ # Répertoire principal Django
│ ├── ecommerce/ # Configuration du projet
│ │ ├── settings.py # Paramètres Django
│ │ ├── urls.py # URLs principales
│ │ └── wsgi.py # Configuration WSGI
│ ├── shop/ # Application principale
│ │ ├── models.py # Modèles de données
│ │ ├── serializers.py # Sérialiseurs REST API
│ │ ├── views.py # ViewSets API
│ │ └── urls.py # URLs de l'API
│ ├── frontend/ # Interface utilisateur
│ │ ├── *.html # Pages HTML
│ │ ├── style.css # Styles CSS
│ │ └── script.js # Scripts JavaScript
│ ├── media/ # Fichiers téléchargés
│ ├── manage.py # Script de gestion Django
│ └── db.sqlite3 # Base de données SQLite
├── Pipfile # Dépendances Python
└── Pipfile.lock # Versions verrouillées
- Informations de profil (nom, email, téléphone)
- Réseaux sociaux (WhatsApp, Facebook)
- Photos (profil, couverture)
- Bio
- Informations de profil
- Photo de profil
- Historique des commandes
- Nom, description, prix
- Prix minimum négociable
- Image et vidéo
- Catégorie
- Lien WhatsApp du produit
- Client, produit, quantité
- Prix total
- Statut de commande
- Date de création
- Category : Organisation des produits
- Review : Avis et notes
- Notification : Notifications utilisateurs
- Delivery : Informations de livraison
- Wishlist : Liste de souhaits
- Friendship : Relations client-vendeur
L'API REST est accessible via /api/ avec les endpoints suivants :
| Endpoint | Méthodes | Description |
|---|---|---|
/api/sellers/ |
GET, POST, PUT, DELETE | Gestion des vendeurs |
/api/clients/ |
GET, POST, PUT, DELETE | Gestion des clients |
/api/products/ |
GET, POST, PUT, DELETE | Gestion des produits |
/api/categories/ |
GET, POST, PUT, DELETE | Gestion des catégories |
/api/orders/ |
GET, POST, PUT, DELETE | Gestion des commandes |
/api/reviews/ |
GET, POST, PUT, DELETE | Gestion des avis |
/api/notifications/ |
GET, POST, PUT, DELETE | Gestion des notifications |
/api/deliveries/ |
GET, POST, PUT, DELETE | Gestion des livraisons |
/api/wishlists/ |
GET, POST, PUT, DELETE | Gestion des listes de souhaits |
/api/friendships/ |
GET, POST, PUT, DELETE | Gestion des relations |
- Python 3.11 ou supérieur
- pip
- pipenv (recommandé)
- Cloner le repository
git clone https://github.com/jocha28/ecom-front-backend.git
cd ecom-front-backend- Installer les dépendances
# Avec pipenv (recommandé)
pipenv install
# Ou avec pip
pip install django djangorestframework pillow django-cors-headers- Activer l'environnement virtuel
pipenv shell- Appliquer les migrations
cd ecommerce
python manage.py migrate- Créer un superutilisateur (optionnel)
python manage.py createsuperuser- Lancer le serveur de développement
python manage.py runserver- Accéder à l'application
- API : http://localhost:8000/api/
- Frontend : Ouvrir les fichiers HTML dans le dossier
frontend/
L'API est accessible à l'adresse : http://localhost:8000/api/
Exemple de requête GET pour obtenir tous les produits :
curl http://localhost:8000/api/products/Exemple de requête POST pour créer un vendeur :
curl -X POST http://localhost:8000/api/sellers/ \
-H "Content-Type: application/json" \
-d '{"name": "John Doe", "email": "john@example.com", "phone": "1234567890"}'Les pages HTML dans le dossier frontend/ permettent de :
- Ajouter des clients et vendeurs
- Visualiser et gérer les produits
- Voir les profils
- Gérer les relations entre clients et vendeurs
Le projet est configuré pour accepter toutes les origines en mode développement :
CORS_ALLOW_ALL_ORIGINS = TrueLes fichiers médias sont stockés dans le dossier media/ avec les sous-dossiers :
profile_pictures/: Photos de profilcover_photos/: Photos de couverturephoto_images/: Images de produitsproduct_videos/: Vidéos de produits
Les contributions sont les bienvenues ! N'hésitez pas à :
- Fork le projet
- Créer une branche pour votre fonctionnalité
- Commit vos changements
- Push vers la branche
- Ouvrir une Pull Request
Ce projet est un projet éducatif/de démonstration.
jocha28
⭐ Si ce projet vous a aidé, n'oubliez pas de mettre une étoile !