"Actions speak louder than words.”

Abraham Lincoln

Reservation System 🔗

The Reservation System is designed to simplify and enhance daily operations in dance, yoga, or similar studios. Built using Domain-Driven Design and Clean Architecture principles, the system enforces clear boundaries between domain, application, and infrastructure layers. It provides a modular backend that is easy to extend, test, maintain and consume. The platform enables owners to manage classes and users, instructors to coordinate schedules and attendance, and clients to conveniently book classes and track their memberships.

As the Tech Lead, Product Owner, Domain Expert, Project Manager, and Backend Developer of this open-source project, I coordinate a fully remote team of over 30 contributors — including backend and frontend developers, testers, and UI/UX designers. I'm responsible for the system's architecture, domain modeling, backlog prioritization, and ensuring business-technical alignment throughout the development lifecycle.

Our team has successfully implemented Keycloak (containerized) to provide secure, role-based authentication and authorization using JWT tokens. The first version of the backend API was deployed to Railway.com, and although the project is currently hosted locally, we plan to bring back cloud deployment via Railway in the upcoming v2.0 release.

Features

  • Owner: Manage classes, users, instructors, halls, and access detailed reports and analytics.
  • Instructor: Create and manage schedules, track attendance, confirm payments, and manage class capacity.
  • Client: Book or cancel classes, track membership card usage (e.g. remaining entries, validity), and receive email reminders.
  • Asynchronous Operations: Architecture designed to support messaging; RabbitMQ integration is planned.

Tech Stack

  • Java 21
  • Spring Boot 3
  • PostgreSQL 16 + Flyway
  • Spring Security with Keycloak (JWT-based authentication)
  • Domain-Driven Design, Clean Architecture
  • JUnit 5 and Mockito
  • Swagger-UI
  • Lombok
  • GitHub Actions (CI/CD), SonarQube (code quality gates)