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
An IDIR account is required to access CHEFS.
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.
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
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
Download
chefs_build.zip
which contains directory structure and docker file for building CHEFS.Open
realm-export.json
located atchefs_build/docker/imports/keycloak
and search forXXXXXXXXXXXX
. This value must match theclientSecret
value inlocal.json
so that the CHEFS API can connect to your Keycloak instance. Do this by searching forXXXXXXXXXXXX
inlocal.json
and replacing it with the value used inrealm-export.json
.In the same
realm-export.json
file, search forYYYYYYYYYYYY
and replace it with the client id (resource) you obtained from the Pathfinder SSO page. Search forZZZZZZZZZZZZ
and replace it with the client secret.
All the files are now configured and you can run Keycloak and PostgreSQL.
Build
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.
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.
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.