Loading repository data…
Loading repository data…
LuminiteTime / repository
A microservice for managing table tennis tournaments, including tournament lifecycle, players, matches, game tables, and single-elimination brackets. The service provides a PostgreSQL-backed REST API with Swagger documentation and Docker support, making it suitable as a standalone tournament management backend or as part of a sports platform
REST API for managing table tennis tournaments: players, matches, tournament lifecycle, and single-elimination brackets. Persistence uses PostgreSQL via Spring Data JPA. Interactive API docs are served with springdoc-openapi (Swagger UI).
Alternatively, run the stack with Docker Compose (PostgreSQL + application container); see docker-compose.yaml.
Default datasource settings live in src/main/resources/application.properties:
spring.datasource.url=jdbc:postgresql://localhost:5432/tournaments
spring.datasource.username=postgres
spring.datasource.password=postgres
Adjust URLs and credentials for your environment before starting.
git clone https://github.com/LuminiteTime/Tournament-Microservice.git
cd Tournament-Microservice
mvn clean verify
Ensure PostgreSQL is running and the database exists, then:
mvn spring-boot:run
The application listens on port 8080 by default.
From the repository root:
docker compose up -d --build
This starts PostgreSQL and the service with spring.datasource.url pointing at the db service.
With the app running, open Swagger UI at:
http://localhost:8080/swagger
OpenAPI is backed by src/main/resources/static/docs/swagger.yaml.
This project is licensed under the MIT License. See LICENSE.