Skip to content

Admin Console

  • Projects: hvc-admin-web (frontend) + hvc-admin-api (backend)

Overview

The Admin Console is the platform operations console used by Hippo staff to run the whole HVC platform. It is separate from the tenant-level admin in hippo-portal (roles/permissions, users, app config — see Web admin).

From here operators manage tenants (onboarding/lifecycle), environments, billing plans, regions, notifications, peripherals & peripheral types, email (SMTP) configurations, and view Metabase dashboards and data.

Frontend — hvc-admin-web

  • Stack: Svelte 4 + SvelteKit 2 (static SPA), Vite 5, Houdini (GraphQL codegen), Tailwind + Flowbite/Skeleton, Felte forms, Keycloak auth.
  • Auth: single admin Keycloak realm (hippo-admin), client hvc, 30 s token refresh.

Routes

RoutePurpose
/private/dashboardsEmbedded Metabase dashboard(s)
/private/tenantsTenant management + create wizard
/private/plansBilling plans CRUD
/private/environmentsEnvironments CRUD + notices + test data/file store
/private/regionsRegions CRUD
/private/notificationsPer-environment notices
/private/peripheral/[environmentId]Peripheral devices per environment
/private/peripheralType/[environmentId]Peripheral types per environment
/private/dataData page; /private/data/email user-email listing
/private/emailConfigurationsSMTP email configs + job status

Tenant creation wizard (/private/tenants)

Multi-step: Basic Info → Role → Tenant Settings → File Storage → Initial User → Summary. Actions: activate / deactivate / delete / undelete / recreate.

Backend — hvc-admin-api

  • Stack: .NET 7, HotChocolate 14 (preview) GraphQL, EF Core + Dapper, Wolverine (IMessageBus), Refit (Keycloak), Serilog → Seq.
  • All operations are GraphQL queries/mutations (Wolverine commands): createTenant, activateTenant, deactivateTenant, deleteTenant, undeleteTenant, recreateTenant, syncTenants, createEnvironment, createPlan, createRegion, createRole, createMediaServer, plus peripherals/peripheralTypes/emailConfig CRUD.
  • REST: HomeController + Features/Environments/EnvironmentsController.cs (download tenant user emails as CSV from the Keycloak auth DB).

Hosted services

ServiceRole
Services/ClientCreationService.csOn tenant create: provisions Keycloak realm/client, configures SMTP, calls tenant API /api/admin/migrate/{domainPrefix}
Features/Tenants/TenantDeletionService.csSoft/hard-deletes tenant rows (incl. chat tables) when deleteOn passes
Services/MeetingFinalizerService.csPolls unsynced meetings, enriches title/host/photoCount from tenant DBs
  • Api — the tenant-facing API this console provisions.
  • Services — the rest of the platform backend.
  • Web admin (embedded) — the different, tenant-level admin UI.

Released under the MIT License.