Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

136 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tournament Microservice

License: MIT Java Spring Boot

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).

Prerequisites

  • JDK 17
  • Maven 3.8+
  • PostgreSQL (local install or Docker)

Alternatively, run the stack with Docker Compose (PostgreSQL + application container); see docker-compose.yaml.

Configuration

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.

Build

git clone https://github.com/LuminiteTime/Tournament-Microservice.git
cd Tournament-Microservice
mvn clean verify

Run (Maven)

Ensure PostgreSQL is running and the database exists, then:

mvn spring-boot:run

The application listens on port 8080 by default.

Run (Docker Compose)

From the repository root:

docker compose up -d --build

This starts PostgreSQL and the service with spring.datasource.url pointing at the db service.

API documentation

With the app running, open Swagger UI at:

http://localhost:8080/swagger

OpenAPI is backed by src/main/resources/static/docs/swagger.yaml.

Features (summary)

  • Create and list tournaments; fetch by ID; update tournament state
  • Register players and query tournament game tables and matches
  • Brackets: generate single-elimination brackets, fetch by ID, list matches, update bracket state

License

This project is licensed under the MIT License. See LICENSE.

About

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

Topics

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages