Revenir aux projets

févr. 2022

3 min de lecture

Chess ATP

Création d'un jeu d'échec en ligne avec websocket

1 ▸ Présentation du Projet

  • Nom du projet : Chess ATP, ATP pour Aim The Perfection (Viser la perfection)
  • Client : Projet personnel pour la validation de mon diplôme Bac+2
  • Date de début : Début Novembre 2021
  • Date de fin : Fin Janvier 2022 (3 mois)
  • Serveurs de production : Render et VPS personnel pour la base de donnée MySQL

Vidéo de présentation de mon jeu d'échec en ligne "Chess ATP"

Vidéo de présentation d'une partie en ligne sur le web

Vidéo de présentation de la partie Administrateur et Statistique

2 ▸ Objectifs du Projet

Créer un jeu d’échecs en ligne entièrement codé par mes soins (y compris le moteur du jeu d’échec) en Next.js, avec une API Express pour la gestion des données, une base de données MySQL pour le stockage et WebSocket pour la communication en temps réel. Le site comprend également une partie administrateur pour visualiser des statistiques comme le nombre d’utilisateurs par jour et leur activité réalisé “from scratch” (sans dépendances ni CMS ou outils), ainsi que la gestion des utilisateurs par les administrateurs.

3 ▸ Défis rencontrés

  • Développement complet du moteur de jeu d’échecs avec des règles complexes et des fonctionnalités en temps réel.
  • Implémentation d’une communication fluide et instantanée entre les joueurs via WebSocket.
  • Conception et développement d’une interface administrateur pour la gestion des utilisateurs et l’analyse des statistiques.

4 ▸ Solutions apportées

  • Codage de la logique complète du moteur de jeu d’échecs pour une expérience utilisateur fidèle et engageante.
  • Utilisation de WebSocket pour une communication en temps réel et sans latence entre les joueurs.
  • Développement d’une interface administrateur intuitive permettant de gérer les utilisateurs et de surveiller les activités en temps réel.

5 ▸ Technologies

  • Front-end : Next.js
  • Back-end : Express.js
  • Base de données : MySQL
  • Communication en temps réel : WebSocket
  • Langages de programmation : JavaScript, Node.js

6 ▸ Processus

Étant seul sur ce projet, aucune gestion de projet a été mise en place et a été nécessaire. Seulement l’utilisation de Notion pour sauvegarder les tâches finies, à faire et commencées.

7 ▸ Résultats obtenus

Un jeu d’échecs en ligne fonctionnel et interactif, avec une communication en temps réel grâce à WebSocket et une gestion efficace des utilisateurs et des statistiques via l’interface administrateur.

8 ▸ Retours sur la mission

Ce projet m’a permis d’obtenir mon diplôme avec brio. Les retours des utilisateurs ont été très positifs étant donnée que ce site m’a permis 2 mois après de retrouver une alternance dans une entreprise au centre de Lille, soulignant la fluidité du jeu et la convivialité de l’interface.

9 ▸ Compétences Acquises

  • Développement complet d’une application web avec un focus sur la logique du jeu et la communication en temps réel.
  • Utilisation de Next.js pour le front-end et Express.js pour le back-end.
  • Implémentation et gestion de WebSocket pour une interaction en temps réel.
  • Conception et développement d’une interface administrateur pour la gestion des utilisateurs et des statistiques.

10 ▸ Difficultés Rencontrées

  • Apprentissage et mise en œuvre de la logique complète du jeu d’échecs.
  • Gestion de la communication en temps réel pour une expérience utilisateur sans latence.
  • Développement d’une interface administrateur complète et fonctionnelle pour la gestion et l’analyse des utilisateurs et des statistiques.

Une question ou un projet à concrétiser ?