Retour

Description

Application web de gestion d'un événement sportif universitaire multi-disciplines, regroupant plusieurs facultés. Le système couvre la création des tournois, la saisie des scores en direct par le staff, l'affichage public des résultats et le calcul automatique des classements par sport et au général. Le modèle de données gère des équipes inscrites simultanément dans plusieurs sports, avec des compositions et statistiques indépendantes pour chacun. Le tout est conteneurisé et déployé derrière un reverse proxy unique.

Ce que j'ai appris

Ce projet m'a permis de concevoir un modèle de données relationnel complexe autour d'une contrainte métier précise : une même équipe peut s'inscrire à plusieurs sports avec des compositions, joueurs et statistiques totalement indépendants les uns des autres.

J'ai mis en place une authentification avec une gestion fine des rôles (Admin, Staff, Technicien) et une whitelist d'utilisateurs, ainsi qu'une architecture en couches (routers, schémas Pydantic, services) côté FastAPI.

Côté déploiement, j'ai orchestré deux frontends distincts (public et staff) et une API derrière un reverse proxy Nginx unique sur un seul VPS, avec traçabilité complète des actions via un journal d'audit.

Technologies utilisées

  • Python
  • FastAPI
  • SQLAlchemy
  • Pydantic
  • SQLite
  • Next.js
  • TypeScript
  • TailwindCSS
  • JWT
  • Docker
  • Nginx