Cette API permet aux petits commerçants de gérer efficacement leurs inventaires, leurs ventes et leurs commandes en temps réel. Développée avec PHP et conteneurisée avec Docker, elle offre une solution complète pour le suivi des stocks et la gestion des commandes.
- Gestion des produits: Ajout, modification, suppression et consultation des produits
- Suivi des stocks: Mise à jour en temps réel des niveaux de stock
- Gestion des commandes: Création, suivi et traitement des commandes
- Gestion des retours: Traitement des retours de produits avec mise Ă jour automatique des stocks
- Authentification sécurisée: Système d'authentification JWT pour sécuriser l'accès à l'API
- Docker et Docker Compose installés sur votre machine
- Composer pour la gestion des dépendances PHP
Avant de démarrer le projet, configurez vos variables d'environnement en copiant le fichier .env.sample vers .env :
cp .env.sample .envModifiez le fichier .env avec vos paramètres :
DB_NAME: Nom de votre base de données MySQLDB_USER: Utilisateur MySQLDB_PASSWORD: Mot de passe de l'utilisateur MySQLDB_ROOT_PASSWORD: Mot de passe de l'utilisateur root MySQLDB_PORT: Port pour MySQL (par défaut 3306)PHPMYADMIN_PORT: Port pour phpMyAdmin (par défaut 8090)
# Installation des dépendances PHP
cd app && composer install && cd ../
# Démarrage des conteneurs Docker
docker-compose up -dPOST /auth/register- Inscription d'un nouvel utilisateurPOST /auth/login- Connexion et obtention d'un token JWT
GET /products- Liste de tous les produitsGET /products/:id- Détails d'un produit spécifiquePOST /products- Création d'un nouveau produitPUT /products/:id- Mise à jour complète d'un produitDELETE /products/:id- Suppression d'un produitPATCH /products/:id/stock- Mise à jour du stock d'un produit
GET /orders- Liste de toutes les commandesGET /orders/:id- Détails d'une commande spécifiquePOST /orders- Création d'une nouvelle commandePATCH /orders/:id/status- Mise à jour du statut d'une commandePOST /orders/:id/return- Traitement d'un retour de commande
POST /products
{
"name": "T-shirt",
"description": "T-shirt en coton bio",
"price": 19.99,
"stock_quantity": 100
}POST /orders
{
"customer_name": "Jean Dupont",
"items": [
{
"product_id": 1,
"quantity": 2
},
{
"product_id": 3,
"quantity": 1
}
]
}- API: http://localhost
- phpMyAdmin: http://localhost:8090
docker-compose downCe projet est sous licence MIT.