FrontendOverview

Frontend

The product frontend lives in hivecfm-core/apps/web/. It is a Next.jsNext.jsReact framework used by HiveCFM Core. Handles routing, server rendering, and API routes in one bundle. 14 App Router application written in TypeScriptTypeScriptJavaScript with a static type system. Every HiveCFM Node service, the frontend, and the dev hub are written in it. and rendered with ReactReactThe component-based UI library every HiveCFM frontend is written in. Components are TypeScript functions returning JSX. Server Components by default. Everything a logged-in user interacts with — surveys, campaigns, analytics, settings — is served from here.

This section documents the product frontend. The documentation site you are reading is a separate Nextra app in hivecfm-dev-hub/ — it is not discussed here.

Mental model for a .NET dev

ConceptHiveCFM equivalent
ASP.NET Core MVC viewServer Component (page.tsx)
_Layout.cshtmllayout.tsx, nested per route
Razor partialClient Component ("use client")
Controller actionRoute handler (route.ts) or Server Action
Tag helperJSX, Tailwind utility class

The biggest conceptual shift: server and client code live in the same folder and the same file tree. A server component does the data read; a client component renders interactive UI. The framework decides what runs where based on the "use client" directive.

Entry points

  • hivecfm-core/apps/web/app/layout.tsx — the root layout (HTML shell, providers).
  • hivecfm-core/apps/web/app/page.tsx — the root page. Redirects to an environment or the login flow.
  • hivecfm-core/apps/web/app/(app)/ — route group for the logged-in app (environments, surveys, campaigns).
  • hivecfm-core/apps/web/app/(auth)/ — route group for login, signup, SAML callbacks.
  • hivecfm-core/apps/web/app/api/ — REST API route handlers (see Backend / API routes).
  • hivecfm-core/apps/web/middleware.ts — edge middleware for auth gating and locale detection.

The stack in one paragraph

Next.jsNext.jsReact framework used by HiveCFM Core. Handles routing, server rendering, and API routes in one bundle. renders server components on the Node.js runtime and streams HTML to the browser. Client components hydrate with ReactReactThe component-based UI library every HiveCFM frontend is written in. Components are TypeScript functions returning JSX. on the client. Tailwind CSS drives styling; Radix (a headless-primitive library) drives interactive UI. State that survives navigation lives in Next.jsNext.jsReact framework used by HiveCFM Core. Handles routing, server rendering, and API routes in one bundle. searchParams or server components; transient UI state uses React hooks. Data writes go through Server Actions (see State and data) or route handlers under app/api/.