Wage subsidy portal for application intake and management.
The application consist of the following 6 clients and APIs:
./packages/static
: React single page application created with vite serving as a landing page for both applications./packages/admin-client
: react-admin application for managing applications./packages/admin-api
: expressjs API for CRUD operations on the database, with PDF capabilities using CDOGS./packages/employer-client
: react-admin application for application intake, connected to CHEFS./packages/employer-api
: expressjs API for CRUD operations on the database./packages/form-api
: expressjs API for location services and emailing using CHES
The GitHub repo is split into 3 main branches:
- dev
- test
- prod
They are protected branches and cannot be directly commited to. Any contributions will have to be made in a separate branch and through a Pull Request.
There are GitHub Actions created to build the image and push it with the appropriate tag to Docker Hub and OpenShift for deployment into the appropriate environment.
Requirements for Pull Request:
- All Unit Tests passes
- SonarCloud assessment passed
Required Dependancies on first open:
Run the following command first:
npm install
Required dependencies:
Proceed to pull the latest Postgres image and start a new Container with the image. Continue to run the following command to create a new Postgres instance.
docker run --name postgres -e POSTGRES_PASSWORD=mysecretpassword -e POSTGRES_USER=myuser -p 5432:5432 -d postgres
From this command you can proceed to create a .env
file within ./SQL
with the following required environment variables:
PG_HOST
PG_PORT
PG_USER
PG_PASSWORD
PG_DB_NAME
Run the following command in the ./SQL
folder:
npx knex migrate:latest
This will create the database based on the schema provided in the ./SQL/createTables.sql
Copyright 2022 Province of British Columbia
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.