⚡ Guide de démarrage rapide
Démarrez avec FreeTrade en moins de 10 minutes ! Ce guide vous permet de tester rapidement toutes les fonctionnalités principales.
🚀 Démarrage en 3 étapes
1. Installation express
# Cloner et configurer
git clone https://github.com/OFR/freetrade-docs.git
cd freetrade-docs
cp .env.example .env
# Démarrer tout l'écosystème
./start-services.sh -a
2. Vérification rapide
# Vérifier que tout fonctionne
curl http://localhost:3004/health
# Réponse attendue : {"status": "ok", "timestamp": "..."}
3. Premier test d'authentification
curl -X POST http://localhost:3004/auth/login \
-H "Content-Type: application/json" \
-d '{
"username": "admin@example.com",
"password": "password123"
}'
🎯 Tests des fonctionnalités principales
🔐 Authentification
Connexion
# Obtenir un token d'accès
TOKEN=$(curl -s -X POST http://localhost:3004/auth/login \
-H "Content-Type: application/json" \
-d '{
"username": "admin@example.com",
"password": "password123"
}' | jq -r '.result.access_token')
echo "Token: $TOKEN"
Profil utilisateur
# Récupérer le profil avec le token
curl -H "Authorization: Bearer $TOKEN" \
http://localhost:3004/auth/profile
👥 Gestion des utilisateurs
Lister les utilisateurs
curl -H "Authorization: Bearer $TOKEN" \
"http://localhost:3004/admin/users?page=1&limit=5"
Créer un utilisateur
curl -X POST http://localhost:3004/admin/users \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"username": "test.user",
"email": "test@example.com",
"firstName": "Test",
"lastName": "User",
"password": "password123",
"confirmPassword": "password123",
"roleId": 1
}'
🚛 Gestion des transports
Créer un transport
curl -X POST http://localhost:3004/trade/transports \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chargerFirstName": "Jean",
"chargerLastName": "Dupont",
"chargerPhone": "+237123456789",
"vehicleTypeId": 1,
"loadingPoint": "Douala",
"unloadingPoint": "Yaoundé",
"vehiclePlateNumber": "CM-123-AB",
"productLabel": "Marchandises diverses",
"productQuantity": 100
}'
Lister les transports
curl -H "Authorization: Bearer $TOKEN" \
"http://localhost:3004/admin/transports?page=1&limit=5"
📋 Gestion des plaintes
Créer une plainte
curl -X POST http://localhost:3004/trade/complaints \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"transportId": 1,
"customerId": 1,
"complaintTypeId": 1,
"label": "Retard de livraison",
"description": "Le transport a eu 3 heures de retard sans information",
"location": "Yaoundé",
"amountPaid": 50000,
"timeLost": 180
}'
Statistiques des plaintes
curl -H "Authorization: Bearer $TOKEN" \
http://localhost:3004/admin/complaints/stats
💬 Forum communautaire
Créer un topic
curl -X POST http://localhost:3004/trade/forum/topics \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Conseils pour transport de marchandises fragiles",
"description": "Discussion sur les meilleures pratiques",
"content": "Bonjour à tous, j'aimerais partager mes expériences...",
"categoryId": 1,
"userId": 1
}'
Lister les topics
curl -H "Authorization: Bearer $TOKEN" \
"http://localhost:3004/trade/forum/topics?page=1&limit=5"
🎛️ Interfaces d'administration
Adminer (Base de données)
- URL : http://localhost:8080
- Serveur :
freetrade-db:3340 - Utilisateur :
freetrade - Mot de passe :
root@admin - Base :
free-trade
NATS Monitoring
- Server 1 : http://localhost:8232
- Server 2 : http://localhost:8233
- Server 3 : http://localhost:8234
📊 Tests de performance
Test de charge simple
# Installer Apache Bench (si nécessaire)
# Ubuntu/Debian: sudo apt-get install apache2-utils
# macOS: brew install httpie
# Test de 100 requêtes avec 10 connexions simultanées
ab -n 100 -c 10 -H "Authorization: Bearer $TOKEN" \
http://localhost:3004/auth/profile
Monitoring des ressources
# Surveiller l'utilisation des containers
docker stats
# Logs en temps réel
docker-compose -f gateway-docker-compose.yml logs -f
🔍 Exploration des endpoints
Endpoints principaux à tester
Authentification
POST /auth/login- ConnexionGET /auth/profile- Profil utilisateur
Administration
GET /admin/users- Liste des utilisateursGET /admin/actors/stats- Statistiques des acteursGET /admin/complaints/stats- Statistiques des plaintesGET /admin/transports/stats- Statistiques des transports
Trade (Utilisateur)
GET /trade/complaints- Mes plaintesGET /trade/transports- Mes transportsGET /trade/forum/topics- Topics du forumGET /trade/announcements- Annonces
Collection Postman
Importez cette collection pour tester facilement :
{
"info": {
"name": "FreeTrade API",
"description": "Collection complète des endpoints FreeTrade"
},
"auth": {
"type": "bearer",
"bearer": [{"key": "token", "value": "{{access_token}}"}]
},
"variable": [
{"key": "base_url", "value": "http://localhost:3004"},
{"key": "access_token", "value": ""}
]
}
🎯 Scénarios de test complets
Scénario 1 : Cycle complet d'un transport
- Connexion → Obtenir un token
- Créer un transport → Enregistrer un nouveau transport
- Créer une plainte → Signaler un problème
- Suivre la plainte → Vérifier le statut
- Modération → Traiter la plainte (admin)
Scénario 2 : Gestion des utilisateurs
- Connexion admin → Token administrateur
- Créer un utilisateur → Nouveau compte
- Assigner des rôles → Permissions
- Créer une organisation → Structure
- Statistiques → Tableaux de bord
Scénario 3 : Forum communautaire
- Créer un topic → Nouvelle discussion
- Ajouter des messages → Réponses
- Système de likes → Interactions
- Signalement → Modération
- Actions de modération → Gestion
✅ Validation rapide
Checklist de fonctionnement
- Authentification réussie
- Création d'utilisateur
- Création de transport
- Création de plainte
- Navigation dans le forum
- Accès aux statistiques
- Interfaces d'admin accessibles
Commandes de diagnostic
# Statut des services
./start-services.sh -s
# Logs d'erreurs
docker-compose logs | grep ERROR
# Santé de l'API
curl http://localhost:3004/health
🎉 Félicitations !
Vous avez maintenant une installation FreeTrade complètement fonctionnelle !
Prochaines étapes recommandées :
- Architecture détaillée - Comprendre le système
- API Reference complète - Explorer tous les endpoints
- Configuration avancée - Optimiser pour la production
Besoin d'aide ? Consultez la section Résolution de problèmes