Skip to content

Latest commit

 

History

History
87 lines (51 loc) · 3.67 KB

README.md

File metadata and controls

87 lines (51 loc) · 3.67 KB

TeamDojo

An application for improving (application and project) skills of your teams by gamification.

It allows teams to self assess their skills and checks if they are reaching a specified ability level. If they reach a new ability level, they will be rewarded with a cool new Team Avatar, Level Rewards (like a virtual belt) and topic specific Badges. TeamDojo also calculates scores, based on specific skill, level and badge ranking/difficulty and ranks the teams by the amount of their achieved scores.

screencast

Build and Run

There are two slightly different ways to build and run TeamDojo:

  1. Development with hot module reloading of the frontend, and
  2. Production to play around with TeamDojo.

There are also two ways of persistence:

  1. Embedded database (recommended for development), and
  2. PostgreSQL (recommended for production).

Either way you choose you always need an OAuth identity provider to run TeamDojo. For local setupt there is a compose file to run a Keycloak service.

Prerequisites

First you need the repository:

git clone https://github.com/otto-de/TeamDojo.git
cd TeamDojo/

You need some tools:

For installing some NodeJS prerequisites simply run:

shell make prerequisites

Gradle

Basically everything is done by Gradle build scripts. So simply build and run is done by invoking ./gradlew (gradle wrapper). You can pass Spring Boot profiles to gradle (e.g. ./gradlew -Pprod).

As mentioned above the application requires at least the Keycloak service and depending on the Spring Boot profile a PostgreSQL. The Docker Compose files for these services are located in src/main/docker/.

GNU Make

To type all the commands to spin up the required services and build and run is quite tedious. so we added a Makefile to provide shorthands. Just type make to get a list of all available targets.

1. Development Mode

For development mode you need two terminal windows (we recommend using tmux):

  1. In the first terminal run make start-backend, and
    • This will also start the Keycloak, which will take a while.
  2. in the second terminal run make start-frontend.

2. Production Mode

To run TeamDojo in production mode with PostgreSQL simply run:

make start

The application will be available at http://localhost:8080

You can find more information in our developer documentation.

Demo Data

We provide a Liquibase changeset with some demo data (src/main/resources/config/liquibase/initial_demo_data.xml). If you start the backend with "dev" profile it will be inserted automatically.

If you want to insert the data when running other profiles you must pass the Java option -Dspring.liquibase.contexts=demo to Spring Boot.

Default secrets / credentials

The default admin credentials are: admin/teamdojo, configured in src/main/resources/config/liquibase/users.csv.

The secret for the "Remember me" Cookie is configured in src/main/resources/config/application-prod.yml.

Please change the password and secret in your production environment.