Le transit, c'est un métier de paperasse et de délais. Un colis entre par l'aéroport ou le port, passe par une agence, un entrepôt, éventuellement 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 qui tombe. TransitSoft Services est né pour digitaliser toute cette chaîne — aérien, maritime et terrestre — pour un fonctionnement multi-agences.
Le vrai problème n'est pas le CRUD
On pourrait croire qu'il s'agit d'un simple back-office. En réalité, la
difficulté est la cohérence entre agences : un colis dépoté dans un entrepôt
doit être redistribué vers la bonne agence de destination, la facturation doit
suivre la devise et la configuration de chaque agence, et les dettes doivent
basculer automatiquement en OVERDUE quand l'échéance passe.
J'ai découpé le produit en monorepo Turborepo :
apps/
api/ # NestJS + Prisma (PostgreSQL) + Socket.IO + BullMQ
web/ # opérations agence
ops-admin/ # administration / configuration
web-desktop/ # poste lourd
web-client/ # portail client
mobile/ # agents
tablet/ # terrain
orchestrator/ # control-plane multi-tenant
Ce que le temps réel et les crons résolvent
- Socket.IO pour les notifications et le chat/support intégré : quand un bordereau est reçu, l'agence d'en face le voit sans rafraîchir.
- BullMQ (Redis) pour ce qui doit tourner tout 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 pro, bordereaux) et QR code par colis pour le suivi physique.
La 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 pour que les formulaires fonctionnent sans dépendre d'une API externe. C'est le genre de décision peu glamour mais qui change tout quand la 4G tombe dans un entrepôt.
Ce que j'en retiens
Un domaine métier riche ne se code pas « à plat ». Modéliser d'abord le cycle de vie du colis, ensuite seulement les écrans, m'a évité de réécrire trois fois la facturation. Et un monorepo bien découpé permet de livrer l'ops-admin sans casser la tablette.
Tu bosses sur un produit métier complexe (logistique, santé, finance) ? Comment tu gères la cohérence entre plusieurs interfaces qui touchent les mêmes données ? Dis-moi en commentaire.