A microservice focused on permitting exchange, aggregation and collection using PIES.
.devcontainer - VSCode Dev Container configurations
.github/ - GitHub PR and Issue templates
.vscode/ - VSCode environment configurations
infra/ - Terraform Infrastructure as Code
├── core/ - Core Shared Infrastructure
└── instance/ - Instance Specific Infrastructure
src/ - Node.js web application
├── controllers/ - Controller Layer
├── db/ - Database Layer
├── docs/ - API Documentation
├── middlewares/ - Middleware Layer
├── public/ - Public Assets
├── repositories/ - Repository Layer
├── routes/ - Routes Layer
├── services/ - Services Layer
├── types/ - TypeScript Declarations
├── utils/ - Utilities
└── validators/ - Validator Layer
tests/ - Test Suites
├── load/ - K6 load tests
└── unit/ - Node.js web application tests
CODE-OF-CONDUCT.md - Code of Conduct
COMPLIANCE.yaml - BCGov PIA/STRA compliance status
CONTRIBUTING.md - Contributing Guidelines
Dockerfile - Dockerfile Image definition
LICENSE - License
server.ts - Node.js server entrypoint
SECURITY.md - Security Policy and ReportingThis section outlines how to quickly set up and run the app locally.
You will need the following installed on your machine before you can proceed:
- Install Node.js 24 LTS or higher
- Install VSCode
- Install VSCode Recommended Extensions
- This can be done by searching
@recommendedin the Extensions tab, and then clicking theInstall Workspace Recommended Extensionsbutton.
- This can be done by searching
- Install Postgres 16.x or higher
npm ciThis command installs the dependencies as defined by the lockfile.
cp .env.default .envIf you do not have a .env file in the root directory, create a copy of the
.env.default and modify as necessary.
Note
You may skip the following section if the APP_AUTOMIGRATE environment variable is set to true, as the application
will automatically migrate and seed the database when it starts.
npm run migrate:latestThis command ensures that your database schema is up-to-date.
npm run seed:runThis command pre-populates your database with common data entries non-destructively.
npm run devThis command starts a local development server watching the source code directory. Most user changes will automatically reboot the server.
npm run startThis command starts the server in production mode.
To report bugs/issues/features requests, please file an issue.
If you would like to contribute, please see our contributing guidelines.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Copyright 2025 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.