Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Code Climate Ruby Coverage Status

🍺 Yes. We have to drink. But we also have to pay. This is the drinking part.


To provide a consistent experience on every system, docker and docker-compose is used during development and production.

Using Docker and Make (recommended)


  1. Install Docker and Docker Compose

  2. Start the development server

    make dev

    This will start a development server on http://localhost:3000

  3. Seed the database.

    make dev-seed

    The development setup uses an SQLite 3 database, which can be found under /db/development.sqlite3


  1. Install WSL (Windows Subsystem for Linux)
  2. Follow the instructions for Linux/Unix above

Directly on your system

  1. Install asdf
  2. Install dependencies: asdf install
  3. Install gems: bundle install
  4. Migrate the db using bundle exec rails db:migrate
  5. Seed the db using bundle exec rails db:seed
  6. Start Tap by running bundle exec rails s


You can generate a production docker image using:

make build

The image will be tagged under tap:latest


Can I use Tap for development without setting up Tab? Tap does not sync with Tab when in development mode. The user's balance is mocked by Ƶ12.34 instead.
How do I login as the "Koelkast" user? In development, you can login as Koelkast using the link: https://localhost:3000/sign_in?token=token
I get a "mismatching_redirect_uri" error when trying to login The Zeus authentication provider has a pre-configured list of hosts that are allowed to use the login. http://localhost:3000 is on this list and should be used for development.
Docker image build is stuck on "Fetching gems..." or another command If you are connected to the **`eduroam`** network, Docker build will not have access to the internet. This is because eduroam and docker use the same IP range, which causes conflicts. To solve this you can [reconfigure Docker to use a different IP range]( A recommended range can be `` which is rarely used by other networks.
There are no transactions going from Tap to Tab The delay job may not be running. You can start it using:
sudo -u tap RAILS_ENV=production /home/tap/production/current/bin/delayed_job start