Skip to main content

⚡ 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​

📊 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 - Connexion
  • GET /auth/profile - Profil utilisateur

Administration​

  • GET /admin/users - Liste des utilisateurs
  • GET /admin/actors/stats - Statistiques des acteurs
  • GET /admin/complaints/stats - Statistiques des plaintes
  • GET /admin/transports/stats - Statistiques des transports

Trade (Utilisateur)​

  • GET /trade/complaints - Mes plaintes
  • GET /trade/transports - Mes transports
  • GET /trade/forum/topics - Topics du forum
  • GET /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​

  1. Connexion → Obtenir un token
  2. Créer un transport → Enregistrer un nouveau transport
  3. Créer une plainte → Signaler un problème
  4. Suivre la plainte → Vérifier le statut
  5. Modération → Traiter la plainte (admin)

Scénario 2 : Gestion des utilisateurs​

  1. Connexion admin → Token administrateur
  2. Créer un utilisateur → Nouveau compte
  3. Assigner des rôles → Permissions
  4. Créer une organisation → Structure
  5. Statistiques → Tableaux de bord

Scénario 3 : Forum communautaire​

  1. Créer un topic → Nouvelle discussion
  2. Ajouter des messages → Réponses
  3. Système de likes → Interactions
  4. Signalement → Modération
  5. 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 :​

  1. Architecture détaillée - Comprendre le système
  2. API Reference complète - Explorer tous les endpoints
  3. Configuration avancée - Optimiser pour la production

Besoin d'aide ? Consultez la section Résolution de problèmes