Git Product home page Git Product logo

lucy-web's Introduction

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.

lucy-web's People

Contributors

fwpushan avatar amirshayegh avatar andrea-williams avatar micheal-w-wells avatar rstens avatar davidclaveau avatar dependabot[bot] avatar cvarjao avatar thegentlemanphysicist avatar repo-mountie[bot] avatar localnewstv avatar nickphura avatar amichard avatar jakemorr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.