Dijon Go Server est une application web qui permet aux passionnés de Go de se retrouver et de jouer des parties en ligne.
DGS propose les fonctionnalités suivantes :
-
Parties personnalisés avec création d'un salon de jeu public ou privé
-
Partie en ligne avec matchmaking
-
Classements
-
Voir les joueurs connectés et discuter avec eux dans un Chat
-
Rediffusion des parties
Front-end : HTML/CSS/Angular
Back-end : ASP.NET Core
Databases : Redis / SQLite
fonctionnalites.mp4
Prérequis : Vous devez avoir NodeJs installé sur votre machine : https://nodejs.org/fr
Prérequis : Vous devez avoir Docker installé sur votre machine : https://www.docker.com/products/docker-desktop/
Pour enregistrer les coups en temps réel, DGS utilise une base de données Redis. Redis est une base de données en mémoire rapide et légère.
- Exécutez la commande suivante pour télécharger l'image Redis et créer un conteneur nommé
redis-server:
docker run --name redis-server -d -p 6379:6379 redis- Vérifier que le conteneur est actif
Pour vérifier que Redis est en cours d'exécution, utilisez la commande suivante :
docker ps- Tester Redis avec
redis-cli
Connectez-vous à Redis via le client intégré redis-cli :
docker exec -it redis-server redis-cliTestez la connexion au serveur Redis en envoyant une commande PING :
PINGLe serveur doit répondre avec PONG
- Cloner le repository GitHub dans un dossier spécifique
- Ouvrez la solution Server.sln avec Visual Studio 2022
-
Définir plusieurs projets de démarrage et cliquez sur "Démarrer" :
-
Ouvrez ensuite un terminal et déplacez-vous de le répértoire "Client" Saisissez la commande
npm install(en cas d'erreur saisisseznpm install --force) Enfin lancez le serveur angular :npm start
Félicitations ! Le client, l'API et le websocket sont désormais exécution, vous pouvez parcourir et utiliser le site à votre guise.
Note : Pour jouer une partie de Go en local, il vous faudra deux fenêtres avec deux comptes différents sur chacune des fenêtres, l'un des clients doit créer la partie, l'autre doit la rejoindre
- Victor Duboz alias @VictorinhoOo
- Clément Boutet alias @clementbtt
- Mattis Galopin alias @mattis_glp
- Adam Stitou alias @Dadam
- Louis Deméocq alias @KeTeR