Skip to content
/ lucy-web Public

Web application for LUCY: Inventory and database repository for the creation, treatment, and report on BC Invasive plants and animals.

License

Notifications You must be signed in to change notification settings

bcgov/lucy-web

Repository files navigation

Invasive Mussels BC

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.

Introduction

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.

Table of Contents

  1. Audience
  2. Getting Help or Reporting an Issue
  3. How to Contribute
  4. Architecture
  5. Project Structure
  6. Documentation
  7. Requirements
  8. Setup Instructions
  9. Running the Application
  10. License

Audience

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

Getting Help or Reporting an Issue

To report bugs/issues/features requests, please file an issue or contact the Sustainment Team.

How to Contribute

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.

Architecture

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.

Project Structure

.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

Documentation

Requirements

  • Docker installed.
  • The ability to run Makefile commands, using a command line tool such as GMAKE

On Windows, you may require a tool like Visual Studio Code or Cygwin in order to use the Makefile.

Setup Instructions

Begin by cloning the repository to create a local copy.

git clone [email protected]:bcgov/lucy-web.git

Note: the default branch is dev - more information about branches and deployment here

Create initial local environment files:

  1. Create an empty .env file at the api directory root
  2. Within api/env_config create a env.local file, using env.example as a reference
  3. Update the app secret values in env.local

Note: these files are .gitignored.

Running the Application

Using Docker:

To run all of the backend containers, use the following commands:

  1. cd into the api directory

  2. 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.

Closing the Application

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.

License

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.

About

Web application for LUCY: Inventory and database repository for the creation, treatment, and report on BC Invasive plants and animals.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published