GetOut Sport
En productionJava MicronautTemporalStripePostgreSQLRedisReactFlutterLaravel

GetOut Sport

Backend microservices pour une plateforme de réservation sportive — paiements Stripe, orchestration Temporal et support multi-pays.

Rôle : Lead Developer

Le Projet

GetOut Sport est une startup dont la mission est de réunir les infrastructures sportives sur une seule plateforme pour réserver et faire du sport entre amis. En tant que Lead Developer, j'ai conçu l'architecture technique et piloté le développement sur l'ensemble de la stack — avec un focus fort sur l'infrastructure backend.

Architecture Microservices — Java Micronaut

Le cœur de la plateforme repose sur une architecture microservices avec des services développés en Java Micronaut :

  • Service de réservation — gestion des créneaux, disponibilité temps réel et résolution de conflits sur plusieurs sites
  • Service de paiement — intégration Stripe avec support multi-pays (France, Espagne), flux d'autorisation et capture, calcul automatique des taxes et gestion du panier
  • Service d'abonnement — permettant aux organisations de proposer des abonnements récurrents dans leur complexe sportif
  • Workers Temporal — orchestration de flux complexes d'événements et de paiements avec logique de retry, compensation et patterns saga

Orchestration de Workflows — Temporal

Temporal gère les workflows métier critiques :

  • Cycle de vie des paiements (autorisation, capture, remboursement)
  • Machine à états des réservations avec résolution de conflits
  • Traitement d'événements asynchrones avec retries automatiques et gestion des dead-letters

Infrastructure & DevOps

  • Base de données : PostgreSQL pour le stockage principal, Redis pour le cache et la gestion de sessions
  • CI/CD : pipelines automatisés avec tests d'intégration et unitaires par service
  • Monitoring : infrastructure cloud avec logging et alerting
  • Process : gestion de projet sur Linear, code reviews systématiques avec workflow basé sur les PR

Backend Historique — Laravel

Une partie du backend repose sur Laravel, progressivement migrée et intégrée avec la nouvelle couche microservices.

Backoffice — React.js

Backoffice complet pour les opérateurs de complexes sportifs : gestion des infrastructures, configuration des créneaux, tarification, suivi des réservations et tableaux de bord de revenus.

Application Mobile — Flutter

Application cross-platform (iOS, Android, Web) pour les utilisateurs finaux — découverte des infrastructures via Google Maps, réservation temps réel, invitations d'amis et paiement in-app.