Paris 2024 - Système de Gestion

Une application complète pour l'administration des Jeux Olympiques de Paris 2024

Spring Boot Thymeleaf API REST MariaDB
Tableau de bord Paris 2024

À propos du projet

Ce projet est une application complète de gestion pour les Jeux Olympiques de Paris 2024. Elle permet l'administration des athlètes, des sports, des épreuves et des actualités liées à l'événement à travers une interface web conviviale et une API RESTful, offrant une solution robuste pour la gestion des données olympiques.

Les fonctionnalités principales incluent :

  • Gestion complète des athlètes (ajout, modification, suppression)
  • Administration des sports olympiques et leurs descriptions
  • Planification et suivi du calendrier des épreuves
  • Système de publication et gestion d'actualités
  • Tableau de bord avec statistiques et indicateurs clés

Détails techniques

  • Frontend: Thymeleaf, Bootstrap, HTML/CSS/JS
  • Backend: Spring Boot, Spring Data JPA
  • Base de données: MariaDB
  • Architecture: API RESTful + Client Web

Galerie du projet

Gestion des athlètes
Gestion des sports
Gestion des épreuves

Défis et Solutions

L'un des principaux défis de ce projet était de créer une architecture claire séparant l'API et l'interface utilisateur tout en maintenant une communication efficace entre les deux. La solution a été d'implémenter un design en couches avec des proxys bien définis pour les appels API, garantissant une maintenance simplifiée et une évolution indépendante des deux composants.

Un autre défi concernait la gestion des relations complexes entre les différentes entités (athlètes, sports, épreuves, pays). Nous avons résolu ce problème en développant un modèle de données relationnel robuste et en utilisant efficacement les capacités de mapping objet-relationnel de Spring Data JPA.

Voir le code

Fonctionnalités détaillées

Gestion des Athlètes

L'application permet de gérer l'ensemble des athlètes participant aux Jeux Olympiques avec leurs informations personnelles, leurs pays d'origine et les sports qu'ils pratiquent.

  • Ajout, modification et suppression d'athlètes
  • Association à un pays et un sport
  • Inscription aux différentes épreuves
Ajout d'un athlète

Gestion des Épreuves

Cette fonctionnalité permet de planifier et visualiser l'ensemble des épreuves des Jeux Olympiques avec leurs dates de début et de fin, créant ainsi un calendrier complet de l'événement.

  • Planification temporelle des épreuves
  • Vue calendrier et vue liste des épreuves
  • Filtrage par date, sport ou type d'épreuve
Gestion des épreuves

Administration des Sports

Le module de gestion des sports permet d'administrer tous les sports au programme des Jeux Olympiques avec leur description et leurs caractéristiques.

  • Interface visuelle de gestion des sports
  • Catégorisation et description détaillée
  • Association avec les épreuves correspondantes
Gestion des sports

Ajout d'un athlète

Le système de gestion des actualités permet de publier et gérer des informations liées aux Jeux Olympiques, créant ainsi un flux d'informations à destination des utilisateurs.

  • Création d'un athlète
  • Association à des sports spécifiques
Gestion des actualités

API RESTful

L'application est construite sur une API RESTful complète, documentée avec Swagger/OpenAPI, qui permet l'accès programmatique à toutes les fonctionnalités du système.

  • Endpoints pour toutes les entités principales
  • Documentation interactive avec Swagger
  • Architecture évolutive permettant l'intégration avec d'autres systèmes

Documentation API

GET /athletes Obtenir tous les athlètes
GET /athlete/{id} Obtenir un athlète par ID
POST /athlete Créer un nouvel athlète
PUT /athlete/{id} Mettre à jour un athlète
DELETE /athlete/{id} Supprimer un athlète
GET /sports Obtenir tous les sports
GET /epreuves Obtenir toutes les épreuves