Skip to content

md-cloud

Core backend API service for the Doorson platform.

Stack

  • Language: Java 21
  • Framework: Spring Boot 3.4.5 (Gradle 8.1.14)
  • Database: PostgreSQL + Flyway migrations
  • Auth: Keycloak (OAuth2 resource server + admin client v26.0.6)
  • Container: eclipse-temurin:21-jdk-alpine

What It Does

  • Door management and configuration
  • Scheduling and holidays
  • User provisioning (Keycloak admin API)
  • REST API consumed by md-cloud-portal and md-my-door

Key Dependencies

  • Spring Boot Security (OAuth2 resource server)
  • Keycloak admin client
  • ShedLock (distributed task scheduling)
  • Lombok, Jackson, Log4j2

Project Structure

src/
  main/
    java/         # controllers, services, modules
    resources/    # configs, email templates
  test/
    java/         # tests

Dev Setup

Add to /etc/hosts:

127.0.0.1 doorson-auth

Set AUTH_HOST=doorson-auth environment variable.

Debug port: 9110

Building

bash
./gradlew build

Profiles

dev, test, stage, prod — set via SPRING_PROFILES_ACTIVE.