This API currently supports the Invasives Mussels BC iOS app only. A new InvasivesBC inventory and database for the creation, treatment, and report on BC Invasive plants and animals can be found here.
Invasive species are non-native plants and animals whose introduction and spread in British Columbia cause significant economic, social or environmental damage. This application tracks the observation, treatment, and monitoring of invasive Quagga and Zebra mussels in the Province of British Columbia. This project is part of the Species and Ecosystems Information System Modernization (SEISM) program.
- Audience
- Getting Help or Reporting an Issue
- How to Contribute
- Architecture
- Project Structure
- Documentation
- Requirements
- Setup Instructions
- Running the Application
- License
This API is intended to be used by the Inspect iOS app where Inspection Officers and Admins can submit Shifts and Watercraft Inspections. Users with a valid IDIR can login to the Inspect iOS app, but only users with the following roles can access and submit data:
inspectAppOfficer
inspectAppAdmin
admin
To report bugs/issues/features requests, please file an issue or contact the Sustainment Team.
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.
This application uses PostgreSQL (with PostGIS) and TypeORM. Containers are built using Jenkins pipelines and Docker. Our environments run on an OpenShift container platform cluster.
.config/ - Whole application configuration
.jenkins/ - Jenkins build config
.storybook/ - Storybook tests for the client
.vscode/ - IDE config for Visual Studio Code
api/ - TypeORM API codebase
└── openshift - OpenShift deployment specific files
└── openshift/tools - Files related to tools such as SchemaSpy
app/ - Angular Client Application codebase
└── openshift - OpenShift deployment specific files
CODE-OF-CONDUCT.md - Code of Conduct
loadTest - Load test application
CONTRIBUTING.md - Contributing Guidelines
LICENSE - License
- Client README
- Server README
- Form Framework Tool README
- Migrations Demo README
- Jenkins README
- Pipeline
- Our database is documented using SchemaSpy
- Load Test
On Windows, you may require a tool like Visual Studio Code or Cygwin in order to use the Makefile.
Begin by cloning the repository to create a local copy.
git clone git@github.com:bcgov/lucy-web.git
Note: the default branch is
dev
- more information about branches and deployment here
Create initial local environment files:
- Create an empty
.env
file at theapi
directory root - Within
api/env_config
create aenv.local
file, usingenv.example
as a reference - Update the app secret values in
env.local
Note: these files are .gitignored
.
Using Docker:
To run all of the backend containers, use the following commands:
-
cd
into theapi
directory -
Run the application containers
make local
or run the application containers in debug mode
make local-debug
This will print additional logging statements to the console, which may be useful when debugging the backend.
To close and clean the application containers
make clean-local
This will close and remove the containers and images created by either of the above commands.
Note: See the
Makefile
for the full list of commands.
Copyright 2019 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.