Eine professionelle, medizinische Videocall-Lösung für Arzt-Patient-Konsultationen mit LiveKit-Integration.
- 1:1 Arzt-Patient-Meetings mit rollenbasierten Berechtigungen
- HD Video/Audio mit adaptiver Qualität
- Screensharing für medizinische Dokumentation
- Sichere Chat-Funktionalität (HIPAA-konform)
- DSGVO/HIPAA-konform mit vollständiger Audit-Trail
- End-to-End-Verschlüsselung für alle Kommunikation
- Rollenbasierte Zugriffskontrolle (Arzt vs. Patient)
- Rate Limiting und DDoS-Schutz
- Nur-Arzt-Recording mit sicherer Speicherung
- Automatische Metadaten-Generierung
- Verschlüsselte Aufzeichnungen für Compliance
- Strukturierte Audit-Logs
- Responsive Design für Desktop, Tablet, Mobile
- iOS Safari Unterstützung mit automatischer Audio-Aktivierung
- Progressive Web App (PWA) ready
- Offline-Fallback für kritische Funktionen
heydok-video/
├── app/ # FastAPI Backend
│ ├── api/v1/endpoints/ # REST API Endpoints
│ ├── core/ # Core Services (LiveKit, Security)
│ ├── models/ # Database Models
│ └── schemas/ # Pydantic Schemas
├── frontend/ # React Frontend
│ └── heydok-video-frontend/
│ ├── src/components/ # React Components
│ ├── src/pages/ # Page Components
│ ├── src/services/ # API Services
│ └── src/styles/ # CSS Styles
├── infrastructure/ # Deployment Configs
├── scripts/ # Utility Scripts
└── docs/ # Documentation
- FastAPI - High-performance Python web framework
- LiveKit - Real-time video/audio infrastructure
- SQLAlchemy - Database ORM
- Pydantic - Data validation
- Structlog - Structured logging
- JWT - Secure authentication
- React 18 - Modern UI framework
- TypeScript - Type-safe development
- LiveKit React Components - Professional video UI
- Tailwind CSS - Utility-first styling
- React Router - Client-side routing
- React Hot Toast - User notifications
- Docker - Containerization
- Kubernetes - Orchestration
- PostgreSQL - Primary database
- Redis - Caching and sessions
- S3 - Recording storage
git clone https://github.com/leomalmachen/heydokvideo.git
cd heydokvideo# Python Virtual Environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Dependencies installieren
pip install -r requirements.txt
# Umgebungsvariablen konfigurieren
cp env.example .env
# Bearbeiten Sie .env mit Ihren LiveKit-Credentialscd frontend/heydok-video-frontend
npm install# In .env file:
LIVEKIT_URL=wss://your-livekit-server.com
LIVEKIT_API_KEY=your-api-key
LIVEKIT_API_SECRET=your-api-secret# Backend (Terminal 1)
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
# Frontend (Terminal 2)
cd frontend/heydok-video-frontend
npm start🎉 Anwendung läuft auf:
- Backend: http://localhost:8000
- Frontend: http://localhost:3000
- API Docs: http://localhost:8000/docs
curl -X POST http://localhost:8000/api/v1/meetings/create \
-H "Content-Type: application/json" \
-d '{
"name": "Konsultation Dr. Müller",
"max_participants": 2,
"enable_recording": true
}'curl -X POST http://localhost:8000/api/v1/meetings/{meeting_id}/join \
-H "Content-Type: application/json" \
-d '{
"user_name": "Max Mustermann",
"user_role": "patient"
}'# Backend Tests
python test_heydok_integration.py --url http://localhost:8000
# Frontend Tests
cd frontend/heydok-video-frontend
npm test# Backend Coverage
pytest --cov=app tests/
# Frontend Coverage
npm run test:coverage# Build und Start
docker-compose up --build
# Production Build
docker-compose -f docker-compose.prod.yml up -d# Apply Kubernetes configs
kubectl apply -f infrastructure/k8s/
# Check deployment status
kubectl get pods -l app=heydok-video# Render deployment
./deploy-render.sh
# Environment variables setzen:
# - LIVEKIT_URL
# - LIVEKIT_API_KEY
# - LIVEKIT_API_SECRET
# - DATABASE_URL
# - REDIS_URL- ✅ Datenminimierung - Nur notwendige Daten
- ✅ Verschlüsselung - End-to-End für alle Kommunikation
- ✅ Audit-Logs - Vollständige Nachverfolgung
- ✅ Recht auf Vergessenwerden - Automatische Löschung
- ✅ BAA-konforme Infrastruktur - LiveKit Cloud
- ✅ Sichere Token - JWT mit kurzen Ablaufzeiten
- ✅ Rollenbasierte Zugriffe - Strenge Berechtigungen
- ✅ Verschlüsselte Aufzeichnungen - S3 mit Encryption
- Rate Limiting - 20 Aufrufe/Minute
- CORS Protection - Konfigurierbare Origins
- SQL Injection Protection - SQLAlchemy ORM
- XSS Protection - Content Security Policy
- Meeting-Erstellungen pro Tag
- Durchschnittliche Meeting-Dauer
- Teilnehmeranzahl-Verteilung
- API Response Times
- Fehlerrate
# Strukturierte Logs
logger.info("Meeting created",
meeting_id=meeting_id,
created_by=user_id,
client_ip=request.client.host)# API Health
curl http://localhost:8000/health
# LiveKit Status
curl http://localhost:8000/api/v1/meetings/health| Endpoint | Method | Beschreibung |
|---|---|---|
/api/v1/meetings/create |
POST | Meeting erstellen |
/api/v1/meetings/{id}/join |
POST | Meeting beitreten |
/api/v1/meetings/{id}/info |
GET | Meeting-Informationen |
/api/v1/meetings/{id}/start-recording |
POST | Recording starten |
/api/v1/meetings/{id}/stop-recording |
POST | Recording stoppen |
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
- Fork das Repository
- Feature Branch erstellen (
git checkout -b feature/amazing-feature) - Changes committen (
git commit -m 'Add amazing feature') - Branch pushen (
git push origin feature/amazing-feature) - Pull Request öffnen
- Code Style: Black + isort für Python, Prettier für TypeScript
- Testing: Mindestens 80% Test Coverage
- Documentation: Docstrings für alle öffentlichen Funktionen
- Security: Alle Änderungen durch Security Review
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@heydok.com
- Integration Guide: HEYDOK_INTEGRATION_GUIDE.md
- API Reference: API_DOCUMENTATION.md
- Deployment Guide: DEPLOYMENT.md
Dieses Projekt ist unter der MIT-Lizenz lizenziert - siehe LICENSE für Details.
- LiveKit - Für die exzellente Video-Infrastruktur
- FastAPI - Für das moderne Python Web Framework
- React - Für die leistungsstarke UI-Bibliothek
- Heydok Team - Für die Vision einer besseren medizinischen Kommunikation
Made with ❤️ for better healthcare communication