Getting started

This chapter describes how to prepare a local development setup for billetsys using PostgreSQL and how to start the application in development mode.

Application after startup

Requirements

Before you begin, make sure the following tools are available:

PostgreSQL setup

The default local configuration expects a PostgreSQL database named ticketdb and a database user with username ticketdb and password ticketdb.

Create the user and database in PostgreSQL:

createuser -P ticketdb
createdb -E UTF8 -O ticketdb ticketdb

If you already have an existing local database and want to recreate it from scratch, you can do:

dropdb ticketdb
createdb -E UTF8 -O ticketdb ticketdb

The application connects to PostgreSQL on localhost:5432 by default. These defaults can be changed through environment variables such as DB_HOST and DB_PORT if needed.

Get the source code

Clone the repository and enter the project directory:

git clone https://github.com/mnemosyne-systems/billetsys.git
cd billetsys

Start support services

Billetsys uses a local CAP service for CAPTCHA protection on the password reset flow. Start the support services before starting the application:

make platform

This detects whether you have Podman Compose or Docker Compose and starts the containers defined in docker-compose.yml. If neither is installed, the command is skipped with a warning.

Start billetsys

Start the application in Quarkus development mode:

mvn clean quarkus:dev

On startup, billetsys will connect to PostgreSQL, update the schema, and load bootstrap data.

The application listens on:

First login

The seeded development users include the following accounts:

Notes

In development mode, billetsys uses mocked outgoing email by default, which makes it easier to test notification flows without configuring a real mail server.