Skip to content

Overview

Doorson is a platform for remote management and control of automatic sliding doors. The system consists of:

Repositories

RepoTypeStackPurpose
md-cloudBackendJava / Spring Boot 3Core API — doors, scheduling, users, Keycloak integration
md-hubBackendJava / Spring Boot 3CAN data processing, MQTT communication with gateways
md-cloud-portalFrontendVue 3 / QuasarWeb admin portal for door managers
md-my-doorMobileVue 3 / Quasar / CordovaEnd-user mobile app (Android / iOS)
md-npmLibraryVue 3 / ViteShared UI components and stores for portal + mobile
md-firmwareFirmwareC++ / ESP-IDFESP32-S3 gateway — CAN bus ↔ MQTT bridge
doorson_ble_smartswitchFirmwareC / ZephyrnRF52840 BLE radar presence sensor

Shared Infrastructure

  • Auth: Keycloak (OAuth2 / OIDC) — used by all backend and frontend services
  • Database: PostgreSQL with Flyway migrations (md-cloud, md-hub)
  • Messaging: MQTT — gateway firmware ↔ md-hub communication
  • CI/CD: GitHub Actions (firmware releases on tag push), Docker for backend services
  • Frontend deps: md-cloud-portal and md-my-door both consume md-npm as a local .tgz package

Environment Profiles

All services support multiple deployment profiles:

ProfileUse
devLocal development
testTest environment
stageStaging / pre-production
prodProduction