API
Einführung
Die API ist unsere zentrale Schnittstelle für user-generated content und bildet das Herzstück der Backend-Infrastruktur von hfg.design 2.0. Sie verwaltet alle persistenten Daten des Systems (außer Chat-Nachrichten) und koordiniert die Kommunikation zwischen allen Services der Plattform.
Hauptmerkmale
- RESTful Architecture: Standardisierte HTTP-Schnittstelle für alle Client-Anwendungen
- Real-time Synchronisation: Socket.io für Live-Updates an alle verbundenen Clients
- Umfassendes Datenmanagement: Verwaltung aller Spaces, Nutzereinstellungen und Metadaten
- Multi-Service Integration: Zentrale Koordination aller Backend-Services
- Authentifizierung & Autorisierung: Integration mit Keycloak für sichere API-Zugriffe
- Skalierbare Architektur: Optimiert für hohe Nutzerzahlen und Datenvolumen
Rolle in der Architektur
Die API fungiert als zentraler Vermittler und Datenverwaltungsservice:
Diagramm könnte hier zeigen: Die API als zentrale Schnittstelle zwischen UI, MongoDB, MinIO, LiveKit, Matrix Synapse, Keycloak und AI-Agents mit REST- und Socket.io-Verbindungen
Space-Management:
- Erstellen, Aktualisieren und Verwalten von Spaces mit verschiedenen Typen:
- COURSE, CHANNEL, DM_DIRECT, DM_GROUP, PROJECT_GROUP, HYPERLINK, FOLDER
- Capability-basierte Konfiguration: CHAT, STREAM, VOD, VIDEO, FILES, SCHEDULE, INFORMATION, SUBMISSION
- Space-Icons und Metadaten-Verwaltung über MinIO
- Benutzereinladungen und Ownership-Verwaltung
- Live-Streaming-Konfiguration und Berechtigungskontrolle
Stream & Slide-Verwaltung:
- Slide-Erstellung durch AI-Agents mit
client credentialsAuthentifizierung - Screenshot-Upload und -Speicherung in MinIO mit Metadaten-Referenzen
- Live-Stream-Token-Generierung für LiveKit Integration
- Aktuelle Slide-Metadaten für laufende Streams
AI-Datenintegration:
- OCR-Metadaten-Speicherung von erkannten Texten auf Folien
- YOLO-Objekterkennung-Ergebnisse für Slide-Inhalte
- AI-Agent-Authentifizierung über
client credentialsfür automatisierte Uploads
User-Features:
- Highlight-System für markierte Textstellen auf Folien mit Indizes-Arrays
- User-Preferences-Synchronisation für UI-Einstellungen
- Avatar-Upload und -Verwaltung
- User-Discovery für Space-Einladungen
Authentifizierung & Zugriff:
- PKCE-Token für UI-Benutzer (Endnutzer-Interaktionen)
- Client-Credentials für AI-Agents und Backend-Services
- Keycloak-Integration für alle Authentifizierungsarten
- Routenspezifische Authentifizierungskontrolle
Alle Daten werden entweder direkt in der MongoDB oder als Medien-Referenzen in MinIO gespeichert, während die API als zentrale Koordinationsstelle für das gesamte System fungiert.