
Manta est une plateforme web fullstack permettant de gérer, superviser et déployer des clusters de calcul distribués.
J'ai conçu et implémenté l'ensemble de la stack, de la base de données jusqu'au déploiement en production, avec une empreinte volontairement légère côté UI.
Technologies
Frontend
Next.js et React pour l'interface publique, avec Tailwind CSS conservé comme seule dépendance UI.
Backend
Node.js et Python orchestrés avec une séparation claire entre la web app et les services de calcul.
Data layer
MongoDB pour la persistance et gRPC pour le contrat entre services internes.
Delivery & quality
Vercel pour le déploiement, JWT pour les parcours d'authentification et Jest pour la couverture de tests.
Périmètre de la mission
- Authentification OAuth2 maison avec service JWT complet, création de comptes, récupération de mot de passe par email et protection systématique des routes API et frontend.
- Proxy API gRPC traduisant les appels REST du frontend vers les services gRPC internes Node.js / Python de l'équipe Manta, en collaboration directe avec l'équipe core.
- Interface de gestion de clusters pour la création, la supervision et la consultation des clusters, avec nœuds, ressources, logs et graphe interactif des tâches déployées.
- Monitoring temps réel des ressources et logs des clusters via Server-Sent Events (SSE), sans dépendance à des librairies tierces pour le temps réel.
- Système de quotas pour comptabiliser et contrôler les usages utilisateur côté frontend et backend.
- Page de téléchargement pour des packages internes, avec tutoriels d'installation et accès au JWT.
- Déploiement et qualité sur Vercel, paramétrage DNS, déploiement de la Proxy API et tests unitaires Jest avec une couverture backend d'au moins 80%.
L'interface a été pensée pour rester légère et lisible, tout en laissant la place à deux ou trois captures d'écran une fois les visuels finaux prêts.
© 2024 A-xel