Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/shu8/cap-editor

A web platform for creating, reviewing, managing, and publishing CAP v1.2-formatted emergency and hazard alerts.
https://github.com/shu8/cap-editor

common-alerting-protocol dissertation ifrc

Last synced: 2 months ago
JSON representation

A web platform for creating, reviewing, managing, and publishing CAP v1.2-formatted emergency and hazard alerts.

Awesome Lists containing this project

README

        

# CAP Editor

[![Backend (API) Tests status](https://github.com/shu8/cap-editor/actions/workflows/test-backend-api.yml/badge.svg)](https://github.com/shu8/cap-editor/actions/workflows/test-backend-api.yml)
[![Frontend (React) Tests status](https://github.com/shu8/cap-editor/actions/workflows/test-frontend.yml/badge.svg)](https://github.com/shu8/cap-editor/actions/workflows/test-frontend.yml)
[![End-to-end tests](https://github.com/shu8/cap-editor/actions/workflows/test-e2e.yml/badge.svg)](https://github.com/shu8/cap-editor/actions/workflows/test-e2e.yml)

[![Build](https://github.com/shu8/cap-editor/actions/workflows/build.yml/badge.svg)](https://github.com/shu8/cap-editor/actions/workflows/build.yml)

Common Alerting Protocol logo

The CAP Editor is a web-based platform for creating, reviewing, managing, and publishing [CAP v1.2](http://docs.oasis-open.org/emergency/cap/v1.2/CAP-v1.2-os.html)-formatted emergency and hazard alerts.

It has been created in collaboration with the [International Federation of Red Cross and Red Crescent Societies (IFRC)](https://www.ifrc.org/) as part of the [University College London (UCL)](https://www.ucl.ac.uk/) [Industry Exchange Network (IXN)](https://www.ucl.ac.uk/computer-science/collaborate/ucl-industry-exchange-network-ucl-ixn) by [Shubham Jain](https://sjain.dev).

## Features

- **Secure user authentication** with 'magic links' and usernameless [WebAuthn](https://www.w3.org/TR/webauthn-2/)
- **Internationalised interface** (English and French currently) using [LinguiJS](https://lingui.js.org/index.html).
- **[WMO Register of Alerting Authorities integration](https://alertingauthority.wmo.int/)**: users must be verified by their Alerting Authority to use the platform
- Create **draft alerts**
- Create **multilingual alerts**
- **User roles**: composer (view/create/edit draft alerts), approver (viewc/create/edit/publish draft alerts), administrator (create/publish any alert)
- **User-friendly alert creation UI**: individual steps, prefilled defaults, graphical map with circle/polygon drawing
- **[WhatNow](https://whatnow.preparecenter.org/) integration** for pre-filled multilingual alert instruction and descriptions
- **Digital Signatures** with [XMLDSIG](https://www.w3.org/TR/xmldsig-core1/)
- **Decentralised and easily deployable** with [Docker Compose](https://docs.docker.com/compose/)

Please see the [documentation site](https://shu8.github.io/cap-editor/) for full documentation on the system architecture, implementation details, development instructions, testing, and deployment information.

**IMPORTANT**: If you are using the CAP Editor to publish CAP alert feeds, you should get in touch with the IFRC to onboard with the IFRC Alert Hub, so your alerts can be aggregated and disseminated.

## Screenshots

Dashboard:


Dashboard

Editor:


CAP Editor

## Usage

This platform is for use by Alerting Authorities. It can be installed by individual regions/Alerting Authorities for a fully functional CAP Editor that works out-of-the-box, with built-in access rights management and security.

## Architecture

This is a [Next.js](https://nextjs.org/) project.

In the below architecture diagram, the _feed server_ is this Next.js app.


System Architecture