Appearance
Overview
Doorson is a platform for remote management and control of automatic sliding doors. The system consists of:
Repositories
| Repo | Type | Stack | Purpose |
|---|---|---|---|
| md-cloud | Backend | Java / Spring Boot 3 | Core API — doors, scheduling, users, Keycloak integration |
| md-hub | Backend | Java / Spring Boot 3 | CAN data processing, MQTT communication with gateways |
| md-cloud-portal | Frontend | Vue 3 / Quasar | Web admin portal for door managers |
| md-my-door | Mobile | Vue 3 / Quasar / Cordova | End-user mobile app (Android / iOS) |
| md-npm | Library | Vue 3 / Vite | Shared UI components and stores for portal + mobile |
| md-firmware | Firmware | C++ / ESP-IDF | ESP32-S3 gateway — CAN bus ↔ MQTT bridge |
| doorson_ble_smartswitch | Firmware | C / Zephyr | nRF52840 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
.tgzpackage
Environment Profiles
All services support multiple deployment profiles:
| Profile | Use |
|---|---|
dev | Local development |
test | Test environment |
stage | Staging / pre-production |
prod | Production |