/wiq_en1b

wiq_en1b

Primary LanguageJavaScript

wiq_en1b

Deploy on release Quality Gate Status Coverage

Welcome to the fastest of all the wiq applications thanks to the precomputing of questions and the most user friendly thanks to our play as guest mode Also, this is a memory game, but if you have forgotten your password, we can help you too

To access the game simply follow the link http://wiqen1b.serveminecraft.net
The documentation of the system can be found https://arquisoft.github.io/wiq_en1b/
And the API documentation can be seen http://wiqen1b.serveminecraft.net:8000/api-doc/

wiq-icon-improved

Application components

This repo is an application made from several components.

  • Gateway service. Express service that is exposed to the public and serves as a proxy to the two previous ones.
  • User service. Express service that handles the insertion of new users in the system.
  • Auth service. Express service that handles the authentication of users.
  • Record service. Express service that handles the game results of all the users and shows a ranking.
  • Webapp. React web application that uses the gateway service to allow users to play the game, in addition to registering, logging in, view the ranking and much more.
  • Question generator. Java application that generates questions from Wikidata which are later used in the game.
  • Question service. Express service that handles the database (MongoDB) and retrieves the previously generated question to be used in the game.

Both the User service and Auth service share a Mongo database that is accessed with mongoose. The Question generator and Question service also share a MongoDB connection.

Quick start guide

In order to deployed it locally you can check out the docker configuration below:

Using docker

If you want to try it out by yourself, the fastest way for launching this project is using docker. Just clone the project:

git clone https://github.com/Arquisoft/wiq_en1b.git

and launch it with docker compose:

docker compose --profile dev up --build

Members

The members of the great team that made this incredible application.