Aperçu du projet
Kera est une plateforme SaaS (Software-as-a-Service) de location de voitures multi-locataire à haute disponibilité. J'ai architecturé un environnement de microservices séparés : un noyau Laravel pour gérer l'administration complexe des agences (taxes, factures, infractions), et un service Go haute performance dédié exclusivement à la télématique de flotte en temps réel et à l'ingestion GPS.
Réalisations architecturales
1. Administration d'entreprise multi-locataire (Laravel) Les agences exigent une isolation logique stricte au sein d'une infrastructure partagée. * Conception d'un schéma PostgreSQL de base de données unique utilisant l'isolation logique, garantissant l'absence totale de fuites de données entre les agences locataires. * Développement de modules CRUD complets pour la gestion des véhicules, le calcul des taxes et la génération automatisée de factures PDF via des workers de file d'attente Redis.
2. Télématique en temps réel et hub IoT (Go) [En cours] Le suivi de flotte en temps réel nécessite une ingestion de données à haute fréquence avec laquelle les architectures PHP traditionnelles ont du mal. * Conception d'un microservice dédié en Go pour gérer les coordonnées GPS entrantes et la télémétrie des véhicules IoT. * *Note : Cette fonctionnalité de télématique est actuellement en cours. Je recherche activement des modèles d'intégration matérielle, car un déploiement en production nécessite l'installation d'unités de suivi GPS physiques avec des cartes SIM actives dans chaque véhicule.* * Utilisation des flux Redis Pub/Sub pour diffuser les mises à jour de localisation en temps réel sur le tableau de bord client via des WebSockets sans bloquer la passerelle API Laravel principale.
3. Moteur de disponibilité de la flotte et contrôle de la concurrence Les doubles réservations sont une erreur fatale dans la location de voitures. * Construction d'un processeur de réservation piloté par une file d'attente de messages pour sérialiser les contrôles d'état des véhicules entrants. * Utilisation du verrouillage distribué Redis (Redlock) pour éviter les conditions de concurrence lors de la validation du panier, garantissant une cohérence stricte au sein de l'architecture distribuée.