Springboot Web app : Quiz multi joueurs

UtoPy -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'ai un projet (web app) à réaliser de type : Quizz multijoueur

L'idée est un peu plus poussée,
1) Un admin paramètre un "salon de vote" et le rend accessible avec un code d'accès.
2) Les participants se connectent et le premier round est ensuite lancé par l'admin.
3) Les participants votent ou écrivent une phrase pour une question donnée, quand tous les votes sont réalisés, ils sont envoyés à l'admin qui a un moyen de contrôle sur ces votes et qui peut ensuite choisir de les afficher.
4) Une fois que c'est ok pour l'admin, il peut alors lancer le round suivant.

Je souhaiterai travailler avec Java/Springboot, j'ai pas mal d'expérience dans ce language mais je n'ai jamais travaillé avec du multithreading, web sockets, etc.

Je suis donc relativement perdu sur quelles technologies utiliser ou si simplement Springboot est ok pour ce genre de web app...
Si qlq savait un peu m'aiguiller ça serait top, histoire que je parte dans la bonne direction et que j'oriente plus facilement mes recherches,
Merci d'avance!
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

SpringBoot est une bonne base pour faire des applications un peu complexes, cela permet notamment de bien gérer l'ajout de différentes briques complémentaires qui te seront utiles car SpringBoot seul ne suffira pas.

A minima il faudrait aller sur SpringBootStarterWeb pour la partie web et notamment le serveur Tomcat, c'est lui qui gèrera la partie multithreading qui devrait être transparente pour toi, chaque requête au serveur est traité dans un thread séparé, mais pour ton développement tu ne devrais pas avoir à manipuler plusieurs threads dans une même requête.

Quant aux websockets, c'est une brique en plus que tu pourras ajouté à ton projet Spring, mais l'implémentation ne dépendra pas que de la partie Java, il faudra interagir aussi côté client, en JavaScript, pour les consommer.

Quelques liens :
1