2021 — 2024
TheFork · TripAdvisor
Développeur React · Node
- Secteur
- Réservation · Restauration
- Équipe
- 8 personnes
- Lieu
- Nantes · Full-remote
TheFork Manager : legacy Symfony arrêté, fonctions critiques réécrites en Node.js pour 55 000 restaurants.
En bref
- Legacy Symfony arrêté sans rupture de service, fonctions critiques réécrites en Node.js
- Back-office d'environ 55 000 restaurants partenaires dans 11 pays
- Droits et accès centralisés dans le back-office React
- ADR, monitoring Sentry/Datadog et déploiements continus sur Kubernetes
Plateforme de réservation de restaurants en ligne du groupe Tripadvisor : environ 55 000 restaurants partenaires dans 11 pays, 20 millions d’avis vérifiés, plus de 420 millions de convives envoyés en restaurant en 15 ans. Les restaurateurs gèrent réservations, tables et offres dans le back-office TheFork Manager.
Contexte
Développeur React/Node au sein de l’équipe Supply : 6 développeurs, 1 product manager et 1 engineering manager. Mission : ajout de nouvelles fonctionnalités et décommission des projets legacy sur le back-office restaurateur.
Point de départ : plusieurs projets Symfony historiques truffés de code sur mesure, rendant toute montée de version impossible. Le vrai enjeu n’était pas de les moderniser, mais de \1
Objectif : arrêter les projets legacy sans rupture de service pour les restaurateurs, tout en continuant à livrer les nouvelles fonctionnalités du back-office.
Stack : front-end React/TypeScript, back-end Node.js (Hapi, Joi) avec un legacy Symfony, CI GitHub Actions, conteneurisation Docker, orchestration Kubernetes, cloud AWS, PostgreSQL, messaging RabbitMQ, tests E2E Cypress, monitoring Sentry, Datadog, Grafana et Kibana.
Réalisations
- Décommission du legacy : identification des fonctionnalités encore utilisées dans les projets Symfony, réécriture des plus critiques en services Node.js (Hapi), bascule progressive puis arrêt des anciens projets
- Gestion des droits utilisateurs : cartographie exhaustive des fonctionnalités, centralisation de l’affichage et des droits d’accès dans le back-office React
- Nouvelles fonctionnalités React/TypeScript côté front et Node.js côté back, avec persistance PostgreSQL : refonte des offres proposées aux restaurateurs et activation promotionnelle
- Observabilité : mise en place du monitoring Sentry et Datadog sur les nouveaux services
- Expérience développeur : conventions de code, simplification des outils de test Cypress
- Cadrage : découpage des besoins en User Stories actionnables, ateliers de définition avec le PO et rédaction de documents d’architecture (ADR)
- Revue de code systématique et déploiements en production via GitHub Actions et Kubernetes
Résultats
- Projets Symfony legacy arrêtés sans rupture de service : leurs fonctionnalités critiques tournent en Node.js pour les quelque 55 000 restaurants partenaires
- Affichage et droits d’accès centralisés dans un seul back-office React, à partir d’une cartographie complète des fonctionnalités
- Nouveaux services observables dès leur mise en production (Sentry, Datadog)
- Décisions d’architecture tracées dans des ADR, à jour pour l’équipe
Un besoin similaire ?
Parlons de votre projet et voyons comment je peux vous aider, en full-remote.