Monorepo powering the web frontend for all registration solutions. Built with NX, it includes Next.js web applications (catalogs, portal and admin), reusable React UI components and other related libraries.
For a broader understanding of the system's context, refer to the architecture documentation wiki. For more specific context on this application, see the Registration subsystem section.
Clone the repository:
git clone https://github.com/Informasjonsforvaltning/catalog-frontend.git --recurse-submodules
cd catalog-frontendCreate .env.local from .env.local.example
cp .env.local.example .env.localInstall dependencies:
corepack enable
yarnStart the development server for concept-catalog app:
yarn start concept-catalogGo to http://localhost:4200
⚠️ Note: Every catalog app requires a catalog id in the url path. When no catalog id is defined the user is redirected to the catalog portal app (https://catalog-portal.staging.fellesdatakatalog.digdir.no). Select your catalog and replace the domain with http://localhost:4200.
We take dataset catalog as an example.
Make sure you have these variables in you .env.local:
E2E_KEYCLOAK_ID_DATASET_CATALOG_FRONTEND=xxxxx
E2E_KEYCLOAK_SECRET_DATASET_CATALOG_FRONTEND=xxxxx
E2E_NEXTAUTH_SECRET=xxxxxRun the e2e tests:
yarn nx e2e dataset-catalog-e2eUse the options --ui and --debug during test development.
To expose a feature flag to client components, add it to the FeatureFlagsProvider context in the relevant app's catalog layout. Client components can then access it via the useFeatureFlags() hook.
Configure flag values in .env.local for local development and in the deploy env YAMLs (deploy/<environment>/<app>/<app>-env.yaml) per environment.
This repository includes instruction files for AI coding assistants:
- CLAUDE.md - Instructions for Claude Code (claude.ai/code)
- AGENTS.md - Instructions for other AI agents (Copilot, Cursor, etc.)
These files contain project structure, commands, architecture patterns, and coding conventions. Keep them updated when the project evolves.