Chess Club

PROJET ETUDIANT : Chess Club                                    


Hello,

Voici un projet d’application python pour un club d’échecs.

J’ai développé une application Python en ligne de commande destinée à un club d’échecs, permettant de gérer une base de joueurs et l’organisation complète de tournois. L’application repose sur une architecture MVC et une conception orientée objet, avec des classes dédiées telles que Player, Tournament, Round et Match, ainsi que des managers responsables de la gestion des collections de joueurs et de tournois. Les données sont persistées à l’aide de fichiers JSON, permettant la sauvegarde et la reprise des tournois.

L’application permet la création et la modification des joueurs, la gestion de plusieurs tournois, la saisie des résultats des matchs (victoire, défaite, match nul) ainsi que le calcul automatique des scores. L’affichage des informations est réalisé directement dans le terminal grâce à la bibliothèque Rich, offrant une interface lisible et structurée avec tableaux et mises en forme adaptées. Ce projet m’a permis de consolider mes compétences en programmation orientée objet, en structuration d’une application, en logique métier et en gestion de la persistance des données, tout en respectant un cahier des charges précis, les normes PEP8 et l’utilisation d’outils de linting pour garantir la qualité du code.

En quelques mots-clés :

  • Python

  • Application en ligne de commande (CLI)

  • Architecture MVC

  • Programmation orientée objet (POO)

  • Classes et relations métier

  • Gestion de tournois

  • Gestion de joueurs

  • Persistance des données

  • Fichiers JSON

  • Saisie et calcul de scores

  • Logique métier

  • Rich (affichage terminal)

  • Tableaux et mise en forme CLI

  • Qualité du code

  • Normes PEP8

  • Linting

  • Respect d’un cahier des charges

J’ajouterai ci-dessous les améliorations apportées à ce projet. La dernière version, en date, en tête de page.



V01

Le code source : repository GitHub

Exemple d’exécution :



A bientôt ! 😉