Le problème
Le transit, c'est de la paperasse et des délais. Un colis entre par l'aéroport ou le port, passe par une agence, un entrepôt, parfois une autre agence à l'intérieur du pays, puis arrive chez le client. À chaque étape : un document, une facture, une dette qui court, une pénalité de stockage. TransitSoft digitalise toute la chaîne — aérien, maritime et terrestre — en multi-agences.
Le vrai enjeu : la cohérence entre agences
Pas un simple back-office. Un colis dépoté doit être redistribué vers la bonne agence de destination, la facturation suit la devise et la configuration de chaque agence, et les dettes basculent automatiquement en OVERDUE quand l'échéance passe.
Architecture — monorepo Turborepo
apps/api— NestJS + Prisma (PostgreSQL) + Socket.IO + BullMQapps/web— opérations agence ·apps/ops-admin— configurationapps/web-desktop(poste lourd) ·apps/web-client(portail client)apps/mobile+apps/tablet(terrain) ·apps/orchestrator(control-plane)
Temps réel & jobs
Socket.IO pour les notifications et le chat/support intégré. BullMQ (Redis) pour ce qui tourne seul : calcul quotidien des pénalités de stockage, vérification des échéances de dettes, marquage automatique des impayés. Génération PDF (factures, bordereaux) et QR code par colis.
Contrainte terrain
Les agents ne sont pas toujours connectés. Les données de localisation (pays → région → ville) sont embarquées en JSON statique côté client : les formulaires fonctionnent même quand la 4G tombe dans un entrepôt.
Stack
NestJS · Prisma · PostgreSQL · Socket.IO · BullMQ · Expo · Turborepo
Retour d'expérience détaillé : Digitaliser le transit douanier : retour sur TransitSoft.