Le contexte
Wonders aide un voyageur à préparer son séjour de bout en bout : découvrir un pays, trouver des activités, rechercher vols et hôtels, sauvegarder son itinéraire et échanger avec la communauté. Le projet a été mené à 6, avec une architecture microservices et un workflow d'équipe encadré par la CI et les merge requests.
Ce que j'ai fait
- Développement de nombreux composants du front Angular 18 et refonte UX/UI
- Sauvegarde des voyages : l'utilisateur enregistre et retrouve ses itinéraires
- Intégration de Google Maps, des pages hôtels et du chat
- Signalement de bugs par les utilisateurs depuis l'interface
- Authentification : gestion de l'expiration des tokens JWT et middleware de vérification utilisateur
- Sécurisation des variables d'environnement dans les images Docker
L'architecture
- 6 microservices Node.js / TypeScript indépendants (users, countries, activities, blog, quiz, fly-hotel), chacun avec sa base PostgreSQL
- Descriptions de pays générées par OpenAI puis mises en cache 29 jours, pour limiter coûts et latence
- CI GitLab par service : lint, tests d'API Bruno sur une vraie base, puis build, à chaque merge request
- Docker Compose en local, Caddy en production avec un sous-domaine et TLS par service
Le défi technique
Développer une plateforme de voyage complète avec une équipe de 6 développeurs, en utilisant une architecture microservices.
LA SOLUTION
Mise en place de microservices Node.js / TypeScript, intégration front Angular 18, CI GitLab et Docker pour le déploiement.
Ce que j'en retiens
Travail en équipe sur une architecture microservices, intégration front-end et back-end, gestion de la CI/CD et déploiement avec Docker.