Skip to content
curityioPublic

About

Monorepo for Self Service Portal, Login Web App, HAAPI React App, Template System, and Styles

Resources

Stars

5 stars

Watchers

0 watching

Forks

Latest commit

 

History

810 Commits

Folders and files

Repository files navigation

Curity UI Kit

production source

Customize the look and feel of your applications

Curity UI Kit

This monorepo contains:

  • Identity Server Templates
  • Self Service Portal
  • HAAPI React App
  • CSS Library
  • UI Icons React Library
  • React Component Library

Branches and releases

main is the development branch. It holds the work for the next release and does not correspond to any released version.

Note

Before the 11.5 release, main reflected the latest release. That is no longer the case.

To work against a released version, check out the version branch for your Identity Server version:

git checkout version/X.Y

For example, for Identity Server 11.5.x, check out version/11.5.

Version branches keep receiving fixes for their release after it ships, without picking up unreleased development work from main. Each release is also tagged as ui-kit-<version> (for example ui-kit-11.5.0) if you need the exact state that shipped. Releases that have no version branch are available through their tag only.

Prerequisites

  • Node.js (version as specified in the .nvmrc file)

Setup

This project uses a specific Node.js version as specified in the .nvmrc file. We recommend using nvm (Node Version Manager) to ensure compatibility.

Using nvm

If you have nvm installed, you can automatically use the correct Node.js version by running:

nvm use

This will read the version from .nvmrc and switch to it. If the specified version isn't installed, you'll be prompted to install it with:

nvm install

Installing nvm

If you don't have nvm installed:

Install

To install all dependencies across a monorepo using npm workspaces, you just run:

npm install

Start Preview Servers

To start preview servers concurrently for all projects, run:

npm start

Then you can access the projects at:

To start projects individually, run:

  • npm run start:identity-server to start the Curity Identity Server Templates
  • npm run start:ssp to start the Self Service Portal
  • npm run start:haapi-react-app to start the HAAPI React App

Build

To build everything, run:

npm run build

To build projects individually, run:

  • npm run build:identity-server to build the Identity Server Templates
  • npm run build:ssp to build the Self Service Portal
  • npm run build:haapi-react-app to build the HAAPI React App
  • npm run build:css to build Curity CSS library
  • npm run build:icons to build Curity UI Icons React library

Deploy

To deploy build artifacts (assets, templates, and messages) to a production environment, you can use the deploy.sh script.

Prerequisites

  1. Set the IDSVR_HOME environment variable to your Identity Server installation directory:

    export IDSVR_HOME=/path/to/idsvr/dist
  2. Build the projects before deploying:

    npm run build

    Or build specific projects with npm run build:<project> to deploy only those, e.g.:

    npm run build:ssp
    npm run build:haapi-react-app

Deployment Options

Deploy to overrides (default):

./deploy.sh

This deploys:

  • Identity Server assets, templates, and messages
  • Self Service Portal to templates/overrides and messages/overrides
  • HAAPI React App assets to the global webroot/assets, with its loader fragment in templates/overrides

Deploy to a specific template area:

./deploy.sh my-template-area

This deploys:

  • Identity Server assets, templates, and messages
  • Self Service Portal only to the specified template area (not to overrides)
  • HAAPI React App assets to the global webroot/assets, with its loader fragment in the specified template area

What Gets Deployed

Identity Server:

  • Assets (CSS, Fonts, Images, JS) → ${IDSVR_HOME}/usr/share/webroot
  • Templates → ${IDSVR_HOME}/usr/share/templates
  • Messages → ${IDSVR_HOME}/usr/share/messages

Self Service Portal:

  • Templates → ${IDSVR_HOME}/usr/share/templates/overrides/apps/self-service-portal or template-areas/{area}/apps/self-service-portal
  • Messages → ${IDSVR_HOME}/usr/share/messages/overrides/{language}/apps/self-service-portal or template-areas/{area}/{language}/apps/self-service-portal

HAAPI React App:

  • Assets → ${IDSVR_HOME}/usr/share/webroot/assets/{js,css}, preserving content-hashed filenames so different builds can coexist
  • Assets fragment → ${IDSVR_HOME}/usr/share/templates/overrides/fragments/api-driven-ui/assets.vm or template-areas/{area}/fragments/api-driven-ui/assets.vm, rewritten to point at the deployed assets

License

Licensed under the Apache License, Version 2.0. See LICENSE.

About

Monorepo for Self Service Portal, Login Web App, HAAPI React App, Template System, and Styles

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages