PROJET D’ENTREPRISE

ABC Logistics : plateforme de suivi SIG en temps réel

En tant que développeur principal, j'ai combiné une architecture micro-frontend et SIG en temps réel avec des modules opérationnels et mobiles.

ReactMicro-FrontendsModule FederationGISHTML 5HTML 5MongoDBElasticsearchPythonHTML 5HTML 5HTML 5AWS
Interface de la plateforme de suivi SIG en temps réel ABC Logistics

IMPACT D’INGÉNIERIE

Périmètre et résultats mesurables

Sources de données géographiques
4 prestataires

Sources de cartes et de localisation intégrées pour une visibilité opérationnelle.

Portée de l'opération
Réservation, entrepôt et demande

Modules micro-frontend évoluant indépendamment.

expérience de terrain
Suivi mobile en temps réel

Avec React Native, l'API REST et les intégrations de cartes.

Automatisation de la livraison
Pipelines Bitbucket

Flux CI/CD reproductible.

Résumé rapide

  • Rôle : Développeur principal et chef de projet Frontend
  • Durée : janvier 2023 – octobre 2024 (1 an 10 mois)
  • Modules : Identité, Suivi des opérations, Réservation, Entrepôt, Gestion de la demande
  • En temps réel : diffusions WebSocket + flux de statut basés sur des événements
  • SIG : OpenStreetMap + Google Maps + Mapbox (multi-fournisseur)
  • CI/CD : Bitbucket Pipelines, Docker, bleu-vert, portes d'approbation
  • Mobile : React Native (iOS/Android)
  • Données/ML : MongoDB, PostgreSQL/PostGIS, Elasticsearch, Django API, OSRM, scikit-learn/PyTorch
  • Livraison : pipeline GitLab CE auto-hébergé → EC2 ; analyse de sécurité continue

Études de cas techniques

Les expériences backend et frontend ont été séparées dans des séries de playbooks distinctes (études de cas) :

  • Plateforme Micro Frontend Logistique
  • Géoclôture d'attente de flotte
  • Bureau de réservation de ferry partenaire
  • Plan de contrôle des opérations logistiques
  • Plateforme de données logistiques polyglottes
  • Flotte Route Intelligence ML
  • Logistique Django API & Livraison

Plateforme de transformation numérique du secteur de la logistique : à l'échelle de l'entreprise avec une architecture micro-frontend

Pour ABC Logistics, j'ai développé une infrastructure de suivi logistique en temps réel qui combine différentes parties de l'opération en une seule plateforme. L'objectif était de gérer les processus distribués avec une visibilité centrale et de synchroniser les flux de données entre le terrain et le centre.

Nous avons choisi l'approche micro-frontend pour clarifier les limites des domaines et permettre aux équipes de se déployer de manière indépendante. En intégrant le flux SIG en temps réel dans cette structure modulaire, nous avons créé une expérience de suivi cohérente tant du côté Web que mobile.

Problèmes et contraintes

Problème

  • Les processus opérationnels étaient dispersés entre différents systèmes ; Il n'y avait aucune visibilité en temps réel.
  • Le suivi des véhicules et des expéditions était manuel ; La notification du client a été retardée.- L'accès mobile était limité ; les équipes de terrain ne pouvaient pas travailler avec des données à jour.
  • L'analyse des données et les rapports étaient insuffisants pour soutenir les décisions stratégiques.

###Restrictions

  • Plusieurs fournisseurs SIG et différents comportements d'API
  • Volume de données élevé et mises à jour de localisation instantanées
  • La nécessité de réduire les dépendances inter-modules
  • intégration avec les systèmes existants et les limites de capacité de l'équipe

Résumé de la solution

  • Identité et autorisation : Un module d'identité central a été installé avec une gestion de session basée sur JWT et RBAC.
  • Suivi des opérations : Les flux de véhicules et d'expéditions peuvent être surveillés en temps réel.
  • Réservation et planification : La capacité, le calendrier et la planification des ressources sont regroupés dans un seul panneau.
  • Gestion d'entrepôt : Les flux de stocks et les mouvements d'entrepôt sont liés aux écrans d'exploitation.
  • Gestion de la demande : Prévisions de capacité/demande prises en charge avec récupération de données + pipeline ML.

Présentation de l'architecture

  • Composition MFE : Implémentation du shell + fusion du runtime de fédération de modules avec des modules distants.
  • Authentification : Module central d'identité ; Tous les modules sont accessibles en une seule session.
  • Bibliothèques partagées : kit d'interface et packages d'utilitaires communs ; Versionnement sémantique pour la compatibilité des versions.
  • Chargement d'exécution : Les points d'entrée distants sont chargés en fonction du support ; Expansion progressive avec indicateur de fonctionnalité.
  • Erreur de repli : Dégradation en cascade basée sur le module lorsque le module distant ne peut pas être atteint.

Suivi en temps réel et SIG

Les données de localisation des appareils GPS sont vérifiées dans le backend, mises en cache via Redis et diffusées aux clients via les canaux WebSocket. Grâce au flux événementiel, les statuts des commandes et les mouvements des véhicules apparaissent simultanément.Côté SIG, OpenStreetMap, Google Maps et Mapbox ont été utilisés ensemble. Cette structure réduit le risque de lock-in fournisseur et optimise le rapport coût/performance en fonction du scénario d'utilisation. Le clustering, le filtrage des fenêtres d'affichage et le géofencing ont été mis en œuvre pour réduire la densité de la carte sous charge. Lors de la mise à l'échelle, les passerelles WebSocket sont conçues pour être évolutives horizontalement (des métriques peuvent être ajoutées : nombre d'appareils, fréquence des événements, utilisateurs simultanés).

DevOps et stratégie de publication

Pipeline CI/CD mis en place avec Bitbucket Pipelines + Docker. Séparation des environnements (développement/pré-production/production) clarifiée ; Une fois la release candidate confirmée en pré-production, la production a commencé. Des transitions de versions transparentes visaient une distribution bleu-vert, et des portes d'approbation manuelles étaient utilisées pour les versions critiques.

Effet/Résultats

  • Augmentation de l'efficacité opérationnelle - 40 % (peut être ajouté si vérifié) - (période : [X], référence : processus manuels avant conversion, méthode de mesure : temps de processus + heures de travail)
  • Augmentation de la satisfaction client - 35% (peut être ajouté si confirmé) - (période : [X], méthode de mesure : CSAT/NPS)
  • Réduction des coûts opérationnels - 25 % (peut être ajouté si vérifié) - (période : [X], référence : rapports de dépenses financières)
  • Disponibilité - 99,9 % (peut être ajouté si vérifié) - (période : [X], méthode de mesure : CloudWatch + surveillance de la disponibilité)
  • Fréquence de déploiement - hebdomadaire à quotidienne - (peut être ajoutée si vérifié) - (méthode de mesure : journaux de versions CI/CD)
  • Téléchargements mobiles - 10 000/3 premiers mois (peuvent être ajoutés si vérifié) - (méthode de mesure : rapports App Store/Play Console)

Compromis de base

  • L'architecture micro-frontend a permis un déploiement indépendant, mais la compatibilité des versions et la gestion des dépendances communes ont ajouté une surcharge opérationnelle.
  • La combinaison de fournisseurs SIG a réduit le risque de dépendance vis-à-vis d'un fournisseur, mais a augmenté les coûts de maintenance et les différences entre les API.- Les flux en temps réel ont fourni de la vitesse ; la gestion de l'idempotence, des nouvelles tentatives et de la cohérence a ajouté une complexité supplémentaire.

Pile technologique (catégories)

  • Front-End : React, TypeScript
  • MFE : Fédération de modules, structure de module Shell + Remote
  • En temps réel : WebSockets, streaming basé sur des événements
  • SIG : OpenStreetMap, Google Maps, Mapbox
  • Mobile : Réagissez natif
  • Données/ML : MongoDB, Redis, Random Forest
  • DevOps : Pipelines Bitbucket, Docker, AWS

Technologies clés

React, Micro-Frontends, Fédération de modules, WebSockets, SIG, React Native, AWS, CI/CD, MongoDB, Redis, OpenStreetMap, Mapbox

Apprentissages

  • Les limites des modules basés sur DDD réduisent considérablement les coûts opérationnels à l'échelle du micro-frontend.
  • Dans les flux en temps réel, la cohérence et la traçabilité sont aussi essentielles que la rapidité.
  • La combinaison de fournisseurs SIG offre une flexibilité coût/performance mais nécessite une coordination opérationnelle.

##FAQ

Pourquoi le micro-frontend a-t-il été préféré ?

Afin que les modules opérationnels puissent être développés indépendamment et distribués séparément.

Quel était l'avantage de la Fédération de Modules ?

Il a renforcé la structure modulaire en fournissant le chargement des modules et l'indépendance des versions au moment de l'exécution.

Pourquoi plusieurs fournisseurs SIG ont-ils été utilisés ?

Réduire le risque de dépendance vis-à-vis des fournisseurs et optimiser le rapport coût/performance dans différents scénarios.

Comment le streaming en temps réel a-t-il évolué ?

Les passerelles WebSocket sont conçues pour être évolutives horizontalement ; Charge équilibrée avec mise en cache et limitation de débit.

Comment la cohérence en temps réel a-t-elle été gérée ?

Avec l'idempotence, les politiques de nouvelle tentative et les stratégies d'équilibrage basées sur les événements.

Comment le processus CI/CD a-t-il été géré ?

Une gestion des versions transparente a été réalisée grâce à une vérification intermédiaire, des portes d'approbation manuelles et un déploiement bleu-vert.### Comment le comportement hors ligne est-il configuré dans l'application mobile ? Avec l'approche de mise en file d'attente et de resynchronisation côté client, les données étaient envoyées lorsque la connexion était restaurée.

Projets connexes

ENGINEERING KNOWLEDGE GRAPH

Les décisions d’architecture, de livraison et de produit de cette étude de cas sont documentées sous forme de Production Engineering Notes anonymisées issues d’expérience réelle en production.

Appliquer des décisions d’architecture similaires à votre produit — écrivez-moi.