E. Leveque
ENThème : système
← Retour au parcours (P1 · km 20)

GFaim

Un planificateur de repas pour une famille, mon projet de fin d'études.

Inscription, onboarding, création de la famille, allergies, calendrier des repas et fiche recette. Données factices.

Le problème

Un professeur voulait un planificateur de repas pour sa famille. Le cahier des charges de départ était imposé : il fallait le respecter. Ensuite, la liberté d'innover au-delà.

Les décisions

Des jetons signés en RSA

Compromis : La signature se vérifie avec une clé publique, la clé privée reste à l'abri. Contrepartie : générer et distribuer les clés se fait à la main.

Un certificat dédié pour l'API Spoonacular

Compromis : La connexion HTTPS passe par un certificat importé à la main. Contrepartie : une étape manuelle à refaire sur chaque machine.

L'architecture

Architecture de GFaimL'application Android native appelle l'API Quarkus avec un jeton JWT signé en RSA. L'API lit une base PostgreSQL et interroge l'API externe Spoonacular en HTTPS, avec un certificat importé à la main.Application Androidnative, JavaAPI GFaim (Quarkus)Java 21, gestion des repasjeton JWT signé en RSAdoc OpenAPI (Swagger)PostgreSQLlancé par Docker ComposeSpoonacularAPI externe, HTTPScertificat importé à la mainJWT (RSA)Architecture de GFaimL'application Android native appelle l'API Quarkus avec un jeton JWT. L'API lit une base PostgreSQL et interroge l'API externe Spoonacular, avec un certificat importé à la main.Application Androidnative, JavaJWT (RSA)API GFaim (Quarkus)Java 21, gestion des repasdoc OpenAPI (Swagger)PostgreSQLlancé par Docker ComposeSpoonacularAPI externe, HTTPScertificat importé à la main
Un trait plein : appel systématique. Orange : l'étape manuelle, un certificat à importer sur chaque machine.

Le mur du 60e km

Faire converger les idées de quatre personnes, et tenir les délais de livraison.

Ce que j'en retire

Un bon résultat, et une bonne expérience d'équipe.