Aller au contenu principal

Vue d'ensemble de l'écosystème Tranoo

Monorepo tranoo-api

L'écosystème Tranoo est regroupé dans un seul dépôt à la racine tranoo-api :

tranoo-api/
├── src/ # API Express (backend principal)
├── tranoo/ # App Flutter — acheteurs
├── tranoo_pro/ # App Flutter — professionnels
├── tranoo_landing/ # Dashboard admin Next.js + site public
├── docs/ # Notes techniques backend
├── scripts/ # Migrations, vérification Swagger, diagnostics
├── uploads/ # Uploads vidéo temporaires
└── data/ # Cache runtime (PDF vérification)

Applications et rôles

ApplicationDossierUtilisateurs cibles
Tranootranoo/Acheteurs (acheteur)
Tranoo Protranoo_pro/Vendeurs, chauffeurs, transitaires, agents
Dashboard webtranoo_landing/Administrateurs (admin + sous-types)
API backendsrc/Toutes les apps ci-dessus

URLs de production

ServiceURL
APIhttps://api.tranoo.store
Swaggerhttps://api.tranoo.store/api-docs
Dashboardhttps://tranoo.store

Rôles utilisateurs

Rôles métier (User.role)

RôleApplicationDescription
acheteurTranooAchète véhicules, motos, pièces
vendeurTranoo ProPublie et vend des articles
livreur(legacy)Rôle historique — livraison désormais via Livro (tiers)
chauffeurTranoo ProChauffeur / tricycle
transitaireTranoo ProMissions de transit international
agentCommercialTranoo ProAgent commercial terrain
adminDashboardAdministration plateforme

Sous-types admin (User.typeAdmin)

superAdmin, principal, moderateur, gestionnaire, responsablePaiement, responsableService, responsablePartenaires, analyste, marketing

Domaines fonctionnels du backend

Le backend expose ~45 fichiers de routes montés dans src/app.js :

DomainePréfixes APIDocumentation
Auth & profil/api/auth, /api/protected, /api/usersAuthentification
Commerce/api/articles, /api/achat, /api/ordersBase de données
Paiements/api/payments, /api/walletPaiements FeexPay
LivraisonLivro (tiers, via app Tranoo)Intégration Livro
Transit/api/transit-missions, /api/transitairesTransit international
Communication/api/chat, /api/notificationsWhatsApp & notifications
Admin tarifs/api/admin/*API Swagger
Agents/api/agents, /api/demo-eventsAgents commerciaux
Parrainage/api/referrals, /api/referral-tariffsParrainage
Géolocalisation/api/geo, /api/geo/beninSwagger
Public/api/public, /api/publicitesSwagger

Intégrations externes

ServiceUsage
FirebaseAuth, FCM push, Storage, App Check (optionnel)
MongoDB AtlasBase de données principale
CloudinaryImages, PDF, vidéos
FeexPayPaiements Mobile Money et cartes
Meta WhatsAppOTP reset MDP, rapports vérification PDF
Cloudflare TurnstileCAPTCHA web
OpenStreetMapCartes (Flutter, gratuit)
Socket.ioChat temps réel, indicateurs de frappe

Workers au démarrage

Lancés depuis src/app.js au boot du serveur :

  1. Payment status worker — polling statuts FeexPay
  2. Cron jobs — expiration publicités, vues automatiques articles
  3. Delivery offer worker(legacy, livraison interne — hors périmètre)

Documentation source dans le dépôt

Fichier tranoo-api/Sujet
docs/SWAGGER.mdMaintenance OpenAPI
docs/CAPTCHA.mdTurnstile + checklist PM2
docs/I18N.mdInternationalisation
docs/MIGRATION_AUTH_TELEPHONE.mdAuth téléphone + MDP
docs/DEMO_TRACKING_TRANOO_PRO.mdKPI démos agents (voir Agents commerciaux)
whatsapp.env.exampleVariables WhatsApp Meta

Voir aussi