feat: Initial Hub Dashboard with email, calendar, and tasks

AI-powered unified business workspace for LetsBe Cloud tenants.
- Next.js 15 (App Router) with Keycloak SSO via NextAuth.js v5
- Email client: IMAP/SMTP via ImapFlow + nodemailer (inbox, compose, search, folders)
- Calendar: CalDAV via tsdav + Schedule-X (month/week/day views, event CRUD)
- Task management: Vikunja API integration (list view, kanban, filters)
- Responsive shell with sidebar navigation and activity feed
- Docker deployment ready

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-07 08:03:25 +01:00
commit 615a36eb20
97 changed files with 8897 additions and 0 deletions

29
.env.example Normal file
View File

@@ -0,0 +1,29 @@
# Authentication
NEXTAUTH_URL=https://hub.example.com
NEXTAUTH_SECRET=generate-a-secret-here
# Keycloak SSO
KEYCLOAK_CLIENT_ID=hub-dashboard
KEYCLOAK_CLIENT_SECRET=your-client-secret
KEYCLOAK_ISSUER=https://auth.example.com/realms/letsbe
# Orchestrator API (same server)
ORCHESTRATOR_URL=http://orchestrator:8100
# Tenant domain (set during provisioning)
TENANT_DOMAIN=example.com
# Server IP
SERVER_IP=0.0.0.0
# IMAP/SMTP (Poste.io on same server)
IMAP_HOST=mail.example.com
IMAP_PORT=993
SMTP_HOST=mail.example.com
SMTP_PORT=587
# CalDAV (Nextcloud on same server)
CALDAV_URL=https://cloud.example.com/remote.php/dav
# Vikunja Task Manager
VIKUNJA_URL=https://tasks.example.com/api/v1