=======
The database used is PostgreSQL 9.5. SQL script to create the database and initialize the framework is located in psql folder. The default framework database name is 'gamification'and user name is 'gamification'. Each created application will have its own schema. A schema named 'manager' is used to maintain application and user information globally. A schema named 'global_leaderboard' contains global leaderboard data with the table name in the schema is community_type name.
docker pull registry.tech4comp.dbis.rwth-aachen.de/rwthacis/gamification:latest
docker run -p 8080:8080 registry.tech4comp.dbis.rwth-aachen.de/rwthacis/gamification:latest
to get a local installation of the gamification framework running under localhost:8080/gamification
See the Dockerfile and the kubernetes folder for more info.
Configure Database
Configure las2peer project properties
bash main.sh -s or ./main.sh -s
Build the code
./main.sh -m all
./main.sh -m clean
./main.sh -m build
To run all services, in main folder project execute
./main.sh -r start_one_node
, to run all services in a node in new network./main.sh -r join_one_node
, to run all services in a node and join existing network./main.sh -r join_node
./main.sh -r join_node start
, to run all services in different node and join existing network./main.sh -r join_node stop
, to stop all services in different node and join existing networkWhen you run Gamification Framework on Windows, you can use main.bat
instead of main.sh
. It still requires a shell binary (so it only works in VSCode or a custom bash/shell). Also, the script only supports running the services in a single node, so the join_node arguments are not supported.
To run all services, in the main directory, execute:
./main.bat -r start_one_node
Information about authentication and links to detailed documentation for the API of each service can be found here:
jdbcDriverClassName="org.postgresql.Driver" (Database Driver for JAVA)
jdbcUrl="jdbc:postgresql://127.0.0.1:5432/" (Database URL)
jdbcSchema="gamification" (Database schema name)
jdbcLogin="" (Database login user name credential)
jdbcPass="" (Database login password credential)
gitHubCAEUser="CAEGamifiedUser" (CAE repository user name)
gitHubCAEUserMail="CAEGamified@gmail.com" (CAE repository e-mail)
gitHubCAEOrganizationOrigin="CAE-Dev" (CAE repository organization name)
gitHubUserNewRepo="CAEGamifiedUser" (Gamification Framework repository user name)
gitHubUserMailNewRepo="CAEGamified@gmail.com" (Gamification Framework repository e-mail)
gitHubOrganizationNewRepo="CAE-Gamified" (Gamification Framework repository organization name)
gitHubPasswordNewRepo="" (Gamification Framework repository password of user name)
BASE_NODE_IP="" (IP of bootstrap network)
BASE_NODE_PORT="9010" (Port of bootstrap network)
Deployed port in las2peer :
- ACHIEVEMENT_PORT="9111"
- ACTION_PORT="9112"
- BADGE_PORT="9113"
- GAME_PORT="9114"
- GAMIFIER_PORT="9115"
- LEVEL_PORT="9116"
- POINT_PORT="9117"
- QUEST_PORT="9118"
- VISUALIZATION_PORT="9119"
The web APIs for all services are deployed on port 8080
. You can access the different services at the following base URLS:
http://localhost:8080/gamification/achievements/
http://localhost:8080/gamification/actions/
http://localhost:8080/gamification/badges/
http://localhost:8080/gamification/games/
http://localhost:8080/gamification/gamifier/
http://localhost:8080/gamification/levels/
http://localhost:8080/gamification/points/
http://localhost:8080/gamification/quests/
http://localhost:8080/gamification/streaks/
http://localhost:8080/gamification/visualization/
When each service is started in an individual node, the following ports are used for the HTTP APIs: