2021 — 2024
TheFork · TripAdvisor
React · Node Developer
- Industry
- Booking · Restaurants
- Team
- 8 people
- Location
- Nantes · Full-remote
TheFork Manager: legacy Symfony retired, critical features rewritten in Node.js for 55,000 restaurants.
At a glance
- Legacy Symfony retired without disruption, critical features rewritten in Node.js
- Back office of about 55,000 partner restaurants in 11 countries
- Permissions and access centralized in the React back office
- ADRs, Sentry/Datadog monitoring and continuous deployment on Kubernetes
Online restaurant booking platform of the Tripadvisor group: about 55,000 partner restaurants in 11 countries, 20 million verified reviews, more than 420 million diners sent to restaurants in 15 years. Restaurants manage bookings, tables and offers in the TheFork Manager back office.
Context
React/Node developer in the Supply team: 6 developers, 1 product manager and 1 engineering manager. Mission: ship new features and decommission legacy projects on the restaurant back office.
Starting point: several historical Symfony projects riddled with custom code, making any version upgrade impossible. The real challenge was not modernizing them, but \1
Goal: retire the legacy projects without service disruption for restaurants, while continuing to ship new back-office features.
Stack: React/TypeScript front end, Node.js back end (Hapi, Joi) with a Symfony legacy, GitHub Actions CI, Docker, Kubernetes orchestration, AWS cloud, PostgreSQL, RabbitMQ messaging, Cypress E2E tests, Sentry, Datadog, Grafana and Kibana monitoring.
Achievements
- Legacy decommissioning: identified the features still in use in the Symfony projects, rewrote the most critical ones as Node.js (Hapi) services, progressive cutover then shutdown of the old projects
- User permissions: exhaustive feature mapping, display and access rights centralized in the React back office
- New features in React/TypeScript on the front end and Node.js on the back end, with PostgreSQL persistence: redesign of the offers available to restaurants, with promotional activation
- Observability: Sentry and Datadog monitoring set up on the new services
- Developer experience: coding conventions, simplified Cypress test tooling
- Scoping: needs broken down into actionable user stories, definition workshops with the PO and detailed architecture decision records (ADRs)
- Systematic code review and production deployments through GitHub Actions and Kubernetes
Results
- Legacy Symfony projects retired without service disruption: their critical features run on Node.js for some 55,000 partner restaurants
- Display and access permissions centralized in a single React back office, based on a complete feature map
- New services observable from their first day in production (Sentry, Datadog)
- Architecture decisions tracked in ADRs, kept up to date for the team
Need something similar?
Let's talk about your project and how I can help, fully remote.