{"id":16975535,"url":"https://github.com/shu8/cap-editor","last_synced_at":"2025-04-12T01:17:11.475Z","repository":{"id":181504330,"uuid":"574676755","full_name":"shu8/cap-editor","owner":"shu8","description":"A web platform for creating, reviewing, managing, and publishing CAP v1.2-formatted emergency and hazard alerts.","archived":false,"fork":false,"pushed_at":"2023-09-03T17:52:11.000Z","size":10382,"stargazers_count":7,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-12T01:17:06.355Z","etag":null,"topics":["common-alerting-protocol","dissertation","ifrc"],"latest_commit_sha":null,"homepage":"https://shu8.github.io/cap-editor/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shu8.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security.md","support":null,"governance":null}},"created_at":"2022-12-05T20:51:58.000Z","updated_at":"2024-10-27T16:26:45.000Z","dependencies_parsed_at":"2023-07-15T22:38:08.380Z","dependency_job_id":null,"html_url":"https://github.com/shu8/cap-editor","commit_stats":null,"previous_names":["shu8/cap-editor"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shu8%2Fcap-editor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shu8%2Fcap-editor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shu8%2Fcap-editor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shu8%2Fcap-editor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shu8","download_url":"https://codeload.github.com/shu8/cap-editor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248501858,"owners_count":21114684,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["common-alerting-protocol","dissertation","ifrc"],"created_at":"2024-10-14T01:23:05.084Z","updated_at":"2025-04-12T01:17:11.450Z","avatar_url":"https://github.com/shu8.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CAP Editor\n\n[![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)\n[![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)\n[![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)\n\n[![Build](https://github.com/shu8/cap-editor/actions/workflows/build.yml/badge.svg)](https://github.com/shu8/cap-editor/actions/workflows/build.yml)\n\n\u003cimg src=\"./docs/images/cap-logo.gif\" align=\"right\"\n     alt=\"Common Alerting Protocol logo\" width=\"150\" height=\"60\"\u003e\n\nThe 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.\n\nIt 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).\n\n## Features\n\n- **Secure user authentication** with 'magic links' and usernameless [WebAuthn](https://www.w3.org/TR/webauthn-2/)\n- **Internationalised interface** (English and French currently) using [LinguiJS](https://lingui.js.org/index.html).\n- **[WMO Register of Alerting Authorities integration](https://alertingauthority.wmo.int/)**: users must be verified by their Alerting Authority to use the platform\n- Create **draft alerts**\n- Create **multilingual alerts**\n- **User roles**: composer (view/create/edit draft alerts), approver (viewc/create/edit/publish draft alerts), administrator (create/publish any alert)\n- **User-friendly alert creation UI**: individual steps, prefilled defaults, graphical map with circle/polygon drawing\n- **[WhatNow](https://whatnow.preparecenter.org/) integration** for pre-filled multilingual alert instruction and descriptions\n- **Digital Signatures** with [XMLDSIG](https://www.w3.org/TR/xmldsig-core1/)\n- **Decentralised and easily deployable** with [Docker Compose](https://docs.docker.com/compose/)\n\nPlease 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.\n\n**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.\n\n## Screenshots\n\nDashboard:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/images/dashboard.png\" alt=\"Dashboard\" width=\"80%\"\u003e\n\u003c/p\u003e\n\nEditor:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/images/editor.png\" alt=\"CAP Editor\" width=\"80%\" align=\"center\"\u003e\n\u003c/p\u003e\n\n## Usage\n\nThis 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.\n\n## Architecture\n\nThis is a [Next.js](https://nextjs.org/) project.\n\nIn the below architecture diagram, the _feed server_ is this Next.js app.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/images/architecture.png\" alt=\"System Architecture\" width=\"80%\" align=\"center\"\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshu8%2Fcap-editor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshu8%2Fcap-editor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshu8%2Fcap-editor/lists"}