Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 17 Next »

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 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. Do this by searching for XXXXXXXXXXXX in local.json and replacing it with the value used in realm-export.json

  4. In the same realm-export.json file, search for YYYYYYYYYYYY and replace it with the resource you obtained from the Pathfinder SSO page. Search for ZZZZZZZZZZZZ and replace it with the secret

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

Build

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

    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:

    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:

    npm install
    npm run serve

    This will start the process for the CHEFS front end.

Additional Resources

External Access

For users accessing CHEFS externally, navigate to the Keycloak login page. Under Configure > Clients > chefs-backend and chefs > Web Origins add an asterisk * which will solve the 403 Forbidden Error.

Common Services API Access

This service requires an IDIR account. You can open this link https://getok.nrs.gov.bc.ca/app/requestAccount to request an account after logging in with your IDIR. This will provide you with an API client id and secret to the CHES and CDOGS service.

It’s not necessary to immediately obtain access to CHES and CDOGS. If you wanted to take advantage of the document generator and email service in the future then this is where you would do it.

  • No labels