Appearance
Architecture
How the HVC platform fits together end-to-end.
System overview
Multi-tenancy
- Each tenant is a Keycloak realm plus its own SQL database and subdomain (
{domain}.my-hippo.io). hvc-apiresolves the active tenant from the request host/domain (MultiTenantConnectionInterceptorswaps the connection string) and scopes all data per tenant.- The admin API keeps the cross-tenant picture (tenants, meetings, billing) in the admin DB and provisions new tenants.
Authentication
Permissions come from the user's role; the API enforces them through the Authorizer (some views/actions are hidden for users without the right permission).
Call / meeting lifecycle
- A user creates an event (
hvc-api). VmrCreationServiceassigns a Pexip VMR to the event.- Participants join via the SignalR hub (
initEvent/joinEvent) and the call runs on Pexip (WebRTC). - Device peripherals (cameras, stethoscope) are driven over the hub.
- On completion, hvc-sinkapi ingests Pexip telemetry and finalizes the event (logs,
eventInstances, adminMeetings), then notifies hvc-services. - Recordings are pushed to blob storage by hvc-filePushApi and processed by hvc-services.
Related
- Technology Stack
- Api — the central service.
- Services — surrounding workers.