This platform was developed as a project for the Multi Tiered Applications course. It's purpose is to offer a Gamification platform for other applications.
Quaris is a REST API based platform. Interacting with it is done entirely through HTTP CRUD requests.
Quaris handles everything related to the gamification of your application, and the only thing you need to configure and run the application is to provide your MySQL root username and password in the file located at Quaris/spring-server/src/main/resources/application.properties
(lines 26 and 27).
Quaris uses JSON Web Tokens to authenticate requests
Except for registering new apps and authenticating, every API request to Quaris must contain the JWT provided by the server in its header. (Header must include : Authorization: [jwt given by server]
)
BCrypt is currently one of the best wayx to hash your password because it is slow and it uses a random salt.
You can see your events dispatched in realtime with the elastic search stack (Elastic search and Kibana).
Before getting started you'll need to have
commands:
mvn clean
mvn compile spring-boot:run
The complete Quaris API documentation is available here
Check out how our server classes are structured, if you dare
There are two ways to test the platform:
In order to run the tests you need:
API Testing is available through the Chai and mocha tests in the Quaris/Quaris-tests/Quaris-tests/specifications/api
folder.
Run npm install
, then run each file.
Try out how quaris can gamify a simple application with our "country finding" app, located in the frontend folder (you only need a browser), where the user is prompted to pinpoint on a world map where specific countries are. You get it right, you get points. First you get the points, then you get the badges, then you get the power. (the game is located in the demo
folder, just run index.html
to play (edit the authentication settings in the code if needed)).
Want to gamify your application and define rules, scales and badges? Try our administrator app, located here: https://github.com/BafS/Quaris-backend-admin