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