Skip to content

Getting Started

A practical guide to running the HVC platform locally. Read the Architecture and Tech Stack pages first for context.

Prerequisites

ToolVersionUsed by
Node.js + pnpmNode 18+ / pnpm 8+hvc-web, hvc-admin-web, hvc-docs
.NET SDK6, 7, 8Backend services (hvc-api, hvc-admin-api, hvc-services, hvc-sinkapi, ...)
Flutter (FVM)3.41 (mobile), 3.0 (headset)hvcmobile, hvc-xr
SQL Serverlocal or containerTenant + admin databases
Docker (optional)Storage emulator / local infra

Repo layout

hippo/
├── hvc-api            # Main client-facing API (.NET 7)
├── hvc-admin-api      # Admin/back-office API (.NET 7)
├── hvc-admin-web      # Admin console (SvelteKit)
├── hvc-web            # Web client (Svelte 3)
├── hvcmobile          # Mobile client (Flutter)
├── hvc-xr             # Headset client (Flutter/RealWear)
├── hvc-services       # Email + recording worker (.NET 8)
├── hvc-ws             # WebSocket presence (.NET 8)
├── hvc-sinkapi        # Meeting finalizer (.NET 7)
├── hvc-filePushApi    # Recording file pusher (.NET 8)
├── hvc-webLogger      # Browser log ingestion (.NET 7)
├── hvc-storage        # Storage abstraction library
├── hvc-shared         # Shared helpers library
├── StorageEmulator    # Local Azure Blob emulator project
└── hvc-docs           # This documentation site (VitePress)

Running the docs

bash
cd hvc-docs
pnpm install
pnpm docs:dev     # http://localhost:5173
pnpm docs:build   # static build (CI)

Running the web client

bash
cd hvc-web
pnpm install
pnpm dev          # Vite dev server

hvc-web needs a backend (hvc-api) + Keycloak to log in. Environment config comes from .env.development / .env.devlocal and src/stores/data.ts (server URL, GraphQL URL, realm resolution).

Running the backend services

Most .NET services read a shared, non-committed config folder. Set:

powershell
$env:DEV_CONFIG_PATH = "C:\path\to\your\config"   # folder containing hvc/*-config/

The expected layout (per service):

{DEV_CONFIG_PATH}/hvc/services-config/appsettings.json     # hvc-services
{DEV_CONFIG_PATH}/hvc/sink-config/appsettings.dev.json     # hvc-sinkapi
{DEV_CONFIG_PATH}/hvc/filepush-config/appsettings.json     # hvc-filePushApi

Then run with dotnet run (or the solution hvc.sln in Visual Studio). Each service loads the matching file in development automatically. This is needed only for local dev.

Required infrastructure

  • SQL Server — tenant + admin databases (connection strings come from config).
  • Keycloak — identity provider; realms per tenant (see Api — Auth).
  • Pexip Infinity — conferencing (VMR creation + telemetry).
  • Object storage — Azure Blob / MinIO / S3 via hvc-storage (or local disk with storeType: file).
  • Seq — centralized logs (optional locally).
  • StorageEmulator — a local Azure Blob emulator project in the repo, useful when developing the recording/file pipeline without real Azure.

Where to look next

  • Services — how the workers fit together + troubleshooting.
  • Api — the main API and its feature areas.
  • Data model — the main tables.
  • Permissions — what each permission gates.
  • Glossary — terms used across the platform.

Released under the MIT License.