Projet / saasen production
Cluster Profile Card Platform
Application de profils et de journal sécurisée par Cognito sur AWS Fargate, avec ETL d'administration et une API à clés
Une application web de cartes de profil et de journal pour Cluster, développée dans un dépôt partagé avec le développeur du client. Le client était parti d'un front end statique basé sur Amplify ; j'ai corrigé le build et migré le backend vers Next.js sur ECS Fargate derrière un ALB et CloudFront, avec authentification Cognito, stockage des photos sur S3 et MongoDB. J'ai ensuite ajouté un espace d'administration avec un pipeline ETL par étapes, une API de données par clés d'API avec limitation de débit, et une application mobile Ionic/Capacitor.
Points forts
- 01Production sur AWS : Docker sur ECS Fargate derrière un ALB, une porte d'entrée TLS CloudFront sur un domaine personnalisé, et des templates CloudFormation avec des droits IAM restreints.
- 02Chaque push sur main déploie sur Fargate via GitHub OIDC, sans clés à longue durée de vie.
- 03Profils liés au subject du token Cognito, photos S3 via des URL présignées, et redimensionnement des images côté navigateur pour corriger les uploads trop volumineux.
- 04Espace d'administration avec un pipeline ETL par étapes, des conditions et politiques modifiables, et des clés d'API avec limites de débit et expiration par clé derrière des endpoints /api/v1 documentés.
- 05Échange de cartes à proximité : l'expéditeur choisit les champs à partager et le reste n'est envoyé qu'après acceptation du destinataire, la détection se faisant par GPS (à moins de 100 m) et par un petit plugin Capacitor que j'ai écrit pour iOS et Android, qui émet une balise Bluetooth LE aléatoire à chaque visite, si bien que la position de personne n'est transmise aux autres utilisateurs.
- 06Application Ionic Vue + Capacitor pour iOS/Android sur la même API ; 41 des 90 commits du projet sont de moi (août–sept. 2026).