feat: add email, scheduler, and Zulip integration services

- Add email service for sending meeting invites with ICS attachments
- Add scheduler for background calendar sync jobs
- Add Zulip service for meeting notifications
- Make ics_url optional for participants
- Add /api/schedule endpoint with 2-hour lead time validation
- Update frontend to support scheduling flow

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Joyce
2026-01-21 13:52:02 -05:00
parent d585cf8613
commit 26311c867a
17 changed files with 403 additions and 59 deletions

View File

@@ -8,7 +8,7 @@ services:
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
- "5433:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
@@ -22,8 +22,10 @@ services:
environment:
DATABASE_URL: postgresql+asyncpg://postgres:postgres@db:5432/availability
SYNC_DATABASE_URL: postgresql://postgres:postgres@db:5432/availability
env_file:
- .env
ports:
- "8000:8000"
- "8001:8000"
depends_on:
db:
condition: service_healthy
@@ -36,9 +38,9 @@ services:
context: ./frontend
dockerfile: Dockerfile
ports:
- "5173:8080"
- "5174:8080"
environment:
VITE_API_URL: http://localhost:8000
VITE_API_URL: http://localhost:8001
depends_on:
- backend
volumes: