Skip to content

The application for viewing, recording and tracking the game statistics in kicker.

License

Notifications You must be signed in to change notification settings

zensoftio/ZenKicker

Repository files navigation

Logo

Releases Docker Hub Status Uptime License

Kicker: is a table-top game that is loosely based on football

The aim of the game is to use the control knobs moving the ball into the opponent’s goal. There are no unified rules for playing the game, in the sense which rules vary in different countries and even in the cities, and sometimes between different clubs in the same city.

Screenshots

For what?

The main idea of this game is to help the team have some rest during working hours and to let them have fun in their free time.

What's there?

In order to make the game more interesting, we’ve included the rating system. Team members can register new games, compare their results and compete with each other.

Running

From sources

To build and run the application, you will need Java and Docker preinstalled.

$ git clone https://github.com/zensoftio/ZenKicker.git
$ cd ZenKicker
$ ./gradlew build
$ docker-compose up

Dockerimage

$ docker run -d --name kicker --restart always \
             -v $DATA_DIR:/data/ \
             -e POSTGRES_HOST=$POSTGRES_HOST \
             -e POSTGRES_DB=$POSTGRES_DB \
             -e POSTGRES_USER=$POSTGRES_USER \
             -e POSTGRES_PASSWORD=$POSTGRES_PASSWORD \
             -e DOMAINS=$DOMAINS \
             zensoftio/kicker

Docker Compose

version: '3'

services:
  db:
    image: postgres:10
    environment:
      POSTGRES_DB: db
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
    restart: always

  kicker:
    depends_on:
      - db
    image: zensoftio/kicker
    environment:
      POSTGRES_HOST: db
      POSTGRES_DB: db
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      DOMAINS: ''
    ports:
      - 8080:8080
    restart: always
    volumes:
      - ./data:/data

Prerequisites

The Kicker application uses several environment variables. All of them are required to run the application.

PostgresSQL service

  • POSTGRES_HOST

Configure the POSTGRES_HOST environment variable to point to the host where you are running your PostgresSQL server. It is required to connect your application to the database.

  • POSTGRES_DB

Add the name of your PostgreSQL database to the POSTGRES_DB environment variable. It lets the application know which database it should be connected to.

  • POSTGRES_USER & POSTGRES_PASSWORD

Set the POSTGRES_USER environment variable with the username you want to use to ensure connection with the database. Set the POSTGRES_PASSWORD environment variable which is a user's password. Using environment variables to add user authentication to your database is more secure than to place this configuration in your code. NOTE: The user you specify in these two environment variables should be a superuser, otherwise you will run into problems.

Registration

  • DOMAINS

Set the DOMAINS environment variable in order to application can validate login by domains of email or set '' (empty string) in order to player can register with any email address.

Static Data

After the application is started, the static data will be saved in the folder /data in the file system. In case the application is stopped or deployed, the static data will remain safe.

Swagger

We’ve used Swagger to enhance your opportunities in frontend and microservices development.

To get Kicker API follow the url:

http://{host}/swagger-ui.html