Skip to content
This repository has been archived by the owner on Jun 7, 2020. It is now read-only.
/ Quaris Public archive

A Gamification platform made with Spring | Quaris Administration: https://github.com/BafS/Quaris-backend-admin | API doc: https://bafs.github.io/Quaris

License

Notifications You must be signed in to change notification settings

BafS/Quaris

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quaris

A Gamification project by Henrik Akesson & Fabien Salathe

Context

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.

Gamify your application now!

Easy to use

Quaris is a REST API based platform. Interacting with it is done entirely through HTTP CRUD requests.

Almost no configuration required

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).

No funny business

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 used for password hashing

BCrypt is currently one of the best wayx to hash your password because it is slow and it uses a random salt.

Realtime with Elastic search

You can see your events dispatched in realtime with the elastic search stack (Elastic search and Kibana).

Requirements

Before getting started you'll need to have

Run the app

commands:

  • mvn clean
  • mvn compile spring-boot:run

API documentation

The complete Quaris API documentation is available here

Database structure

Database

Server UML

Check out how our server classes are structured, if you dare

UML

Tests

There are two ways to test the platform:

Mocha/Chai tests

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.

Simple web app

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)).

Admin app

Want to gamify your application and define rules, scales and badges? Try our administrator app, located here: https://github.com/BafS/Quaris-backend-admin

About

A Gamification platform made with Spring | Quaris Administration: https://github.com/BafS/Quaris-backend-admin | API doc: https://bafs.github.io/Quaris

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published