Swyx Core Grundgerüst: Webhook-Service, Admin-UI und Outlook-Plugin

Initiale Projektstruktur mit Spring Boot 3.4 + Vaadin 24.6:
- Webhook-Endpoint zur Entgegennahme von Swyx-Anrufsignalisierungen
- Vaadin-basierte Admin-Oberfläche (Dashboard, Events, Login) mit
  custom Theme 'swyx-admin' und Spring-Security-Schutz (In-Memory
  Admin aus swyx.admin.*)
- Plugin-Framework mit ApplicationReadyEvent-gesteuertem Lifecycle
- Outlook-Plugin: stündlicher Kontakt-Sync via Microsoft Graph
  (Client-Credentials-Flow) mit Paging
- MongoDB-Auto-Konfiguration via spring-boot-starter-data-mongodb
- Env-basierte Konfiguration (.env / .env.example) mit Fallback-
  Defaults in application.yml

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-16 12:59:04 +02:00
parent 62d34de239
commit a5ed2b3355
34 changed files with 16564 additions and 0 deletions

24
core/.env.example Normal file
View File

@@ -0,0 +1,24 @@
# Template — copy to `.env` and fill in your values.
# Do NOT commit `.env` (contains secrets).
SERVER_PORT=8080
SWYX_ADMIN_USERNAME=admin
SWYX_ADMIN_PASSWORD=change-me
SWYX_PLUGINS_OUTLOOK_ENABLED=false
SWYX_PLUGINS_OUTLOOK_TENANT_ID=
SWYX_PLUGINS_OUTLOOK_CLIENT_ID=
SWYX_PLUGINS_OUTLOOK_CLIENT_SECRET=
SWYX_PLUGINS_OUTLOOK_BASE_URL=https://graph.microsoft.com/v1.0
SWYX_PLUGINS_OUTLOOK_SCOPE=https://graph.microsoft.com/.default
MONGODB_URI=
MONGODB_HOST=localhost
MONGODB_PORT=27017
MONGODB_DATABASE=swyx
MONGODB_USERNAME=
MONGODB_PASSWORD=
MONGODB_AUTH_DATABASE=admin
LOGGING_LEVEL_DE_ASSECUTOR_SWYX=INFO