rodekruis / IBF-system

Tools required to trigger, manage and execute the Red Cross Early Action Protocols for natural disasters.
https://ibf.510.global
Apache License 2.0
12 stars 15 forks source link
aa disaster-management disaster-prepare disaster-response early-action-protocol impact-based-forecasting red-cross

IBF-system

Introduction

NOTE: Some background on IBF-terminology (e.g. triggers) is expected. This can be expanded on later.

This is the repository for the IBF-system. It includes a.o.:

  1. An API-service (backend)
  1. An IBF-dashboard (frontend)
  1. A features folder describing all feature scenarios in the IBF-system, using Gherking language.

  2. A docs folder with further documentation beyond this readme.

Dependencies

Getting Started

Setup a local development-environment:

Installation

  1. Clone the repository

  2. Setup env variables:

    cp example.env .env

    Fill in the .env variables with someone who has them.

  3. Run npm run install:interface

Start apps

From root run

Load (local) database with data

When running Docker locally, a database-container will start (as opposed to remote servers, which are connected to a database-server). For setting up a fully working version of the IBF-dasbhoard 2 steps are needed.

  1. Load initial raster data
  1. Post static data and 1st batch of dynamic data to database

Installation result

These commands will install the IBF-system with listeners at,

  1. localhost:4000/docs for the API-service documentation
  2. *development only - localhost:4200 for the web interface

Troubleshoot installation issues

Please read the troubleshoot guidlelines to support the insatllation of IBF in the TROUBLESHOOT.md

Releases

See notable changes and the currently released version in

Release Checklist

The above steps should trigger the release webhook which updates the staging environment to the published release. This takes a while (approx 20 mins) to update.

Deployment

To "test" environment

To "stage" environment

To "production" environment

Contributing to IBF

Please read the contributing guidlelines in the CONTRIBUTING.md

Glossary

Term Definition (we use)
version A 'number' specified in the SemVer-format: 0.1.0
tag A specific commit or point-in-time on the git-timeline; named after a version, i.e. v0.1.0
release A fixed 'state of the code-base', published on GitHub
deployment An action performed to get (released) code running on an environment
environment A machine that can run code (with specified settings); i.e. a server or VM, or your local machine