Skip to content

fabiendv/asi-cards-game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ASI2 - Cards game

Notre application est un jeu de cartes permettant à des joueurs de s'affronter en 1 contre 1. Un utilisateur inscrit sur notre application peut:

  • acheter et vendre des cartes
  • affronter des joueurs avec les cartes qu'il possède (1 carte VS 1 carte)
  • discuter avec les utilisateurs connectés
  • augmenter son capital en remportant des parties et acheter encore plus de cartes

Auteurs

  • Martin Thénot
  • Fabien Dalla-Valle
  • Maxime Delahodde
  • Thibault Caussanel

Activités réalisées

  • Thibault :

    • Composants React pour les pages Buy/Sell et Play
    • Module backend Springboot communicant par un bus avec une application indépendante
    • Backend Node.js associant 2 joueurs dans une partie
    • Historique du chat dans Springboot en utilisant Activemq
  • Martin :

    • Composants React (et enfants) menu, navbar, user
    • Réalisation de l'identité visuelle (CSS + JS)
    • Participation au déroulement du game
    • Participation au développement du chat
  • Fabien :

    • Composants React pour les pages Login et Signup (User view)
    • Assemblage de toutes les parties du front-end pour l'atelier 1 (en utilisant directement le projet SpringBoot)
    • Implementation du composant du chat
    • Creation et implementation du deroulement d'une partie (front-end et back-end)
  • Maxime :

    • Réalisation du chat
    • Participation à la réalisation du composant User
    • Participation du composant Play
    • Vérification de l'organisation générale - Debugage

Eléments réalisés

  • Diagramme de classe de l'architecture monolithique
  • Tableau récapitulatif des bus de communication les plus répandus
  • Tableau comparatif des principaux Framework FrontEnd existants
  • Découpage du FrontEnd en composant REACTJS
  • Application REACTJS avec interaction avec le BackEnd
  • Module permettant à notre BackEnd SpringBoot de mettre à jour les propriétés d’un utilisateur par un BUS de communication
  • Application indépendante permettant de tester la mise à jour d’un utilisateur par Bus de Communication
  • Avantages/inconvénients de node.js pour le projet
  • Backend Node.js indépendant permettant de créer un chat entre deux utilisateurs
  • BackEnd Node.js indépendant permettant d’associer les utilisateurs souhaitant jouer entre eux.
  • Frontend React d'une partie de jeux
  • Diagramme de séquence expliquant les interactions entre Node.js et le FrontEnd lors d’un jeu entre deux joueurs
  • Backend Node.js d'une partie de jeu
  • Sauvegarde de l’historique des conversations du Chat en envoyant les données du BackEnd Node.js vers le BackEnd Springboot

Eléments non réalisés

  • Informer le BackEnd SpringBoot gérant les utilisateurs et les cartes du résultats du jeu par Bus de communication
  • Mise en place d'un proxy permettant de rediriger les requêtes http entre les 2 backends
  • Gestion des cas particuliers suivant :
    • Lorsqu'un joueur quitte la partie en cours avec le bouton home:

      • Comportement actuel: la partie reste bloqué, le joueur restant doit retourner dans home
      • Comportement attendu: le joueur restant gagne la partie
    • Lorsqu'un joueur quitte la waiting page:

      • Comportement actuel: le joueur retourne sur le home mais le serveur considère le joueur toujours en waiting page.
      • Comportement attendu: le joueur retourne sur le home et le serveur est informé que le joueur n'attend plus de partie

Architecture

  • Le dossier backEnd contient l'architecture monolitique avec un service d'historique de chat par connexion ActiveMq et un service consumer communicant par ActiveMq avec le backendSendQ pour la mise à jour d'un utilisateur
  • Le dossier backEnd-SendQ contient une application Springboot connecté au bus de communication, qui met à jour un utilisateur
  • Le dossier documentation rassemble les fichiers complementaires pour le rendu.
  • Le dossier nodeJs rassemble 2 dossiers (chat et game) pour nos 2 serveurs qui gèrent notre application. Ces dossiers contiennent des fichiers front-end seulement utilisés pour tester le chat et le game de façon indépendante sur leurs ports.
  • Le dossier reactJs contient notre application principale pour le côté front-end.
  • Les scripts install.sh et start.sh s'occupent de l'installation des npm packages et s'occupent du démarage. Sinon, les indications sont décrites en dessous.

Installation & Run

Les commandes sont realisées depuis le dossier asi-cards-game.

Installer tous les paquets: ./install.sh

Lancer application : ./start.sh

Application principale - ReactJS

cd /reactJs
npm install
npm start

Serveur pour le chat - NodeJS

cd /nodeJs/chat
npm install
npm start

Serveur pour le game - NodeJS

cd /nodeJs/game
npm install
npm start

Serveur - SpringBoot

Importer le dossier backEnd et executer en tant qu'application SpringBoot App.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages