Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page has an intended audience of developers and other technical team members looking to install CHEFS on their local machines for testing and development. Following this documentation will set up an isolated sandbox CHEFS instance for investigation and research prior to preparing pull requests or code commits. 

CHEFS is based on the open-source Form.io platform. When using a form builder, Form.io creates a JSON schema that is used to render the forms within CHEFS as well as generate the REST API interface on the server. 

...

Prerequisites

  1. An IDIR account is required to access CHEFS.

  2. Request an SSO Integration from the Common Hosted Single Sign-on (CSS) page in order to obtain a resource and secret that will be used for authentication when building CHEFS. View the detailed documentation about requesting the Pathfinder SSO integration. 

  3. Ensure that Docker is installed on your local machine. Using Docker allows for a quick CHEFS build on your local machine however this is not how the production environment is hosted. 

...

Setup

  1. Start by cloning the CHEFS source code onto your local machine and download the local.json file below such that the directory structure follows /common-hosted-form-service/app/config/local.json 

  2. Download chefs_build.zip which contains directory structure and docker file for building CHEFS.

  3. Open realm-export.json located at chefs_build/docker/imports/keycloak and search for XXXXXXXXXXXX. This value must match the clientSecret value in local.json so that the CHEFS API can connect to your Keycloak instance.

...

  1. By default, these are set to be equal and don’t need to be altered.

  2. Navigate to the CSS page, login with your IDIR, and download the ‘Development’ Installation JSON from your SSO Integration.

  3. Back in the realm-export.json file, search for all instances of YYYYYYYYYYYY and replace it with the resource you obtained from the downloaded JSON file. Search for all instances of ZZZZZZZZZZZZ and replace it with the secret

...

View file
namelocal.json

All the files are now configured and you can run Keycloak and PostgreSQL.

Info

Note that realm-export.json is configured with the SSO integration for the “Development” environment, and will only work with the resource and secret from the Development JSON.

View file
namechefs_build.zip
View file
namelocal.json

...

Build

  1. Start Docker, open a terminal in the /chefs_build directory, and run the following command:

    Code Block
    docker compose up

    This will start up an instance for your Keycloak and PostgreSQL containers. If you don’t want to keep the terminal open, you can append a -d to the end of the command above.

  2. Next, open a terminal in the directory /common-hosted-form-service/app and run the following commands:

    Code Block
    npm install
    npm run migrate
    npm run seed:run
    npm run serve

    This will start the process for the CHEFS API.

  3. Open another terminal in the directory /common-hosted-form-service/app/frontend and run the following commands:

    Code Block
    npm install
    npm run serve

    This will start the process for the CHEFS front end.

...

View the additional resources page for troubleshooting common errors.

...