/coronastatus

Open source webapp that let people report their health status to get overview of COVID-19 🇳🇴🇳🇱🇸🇰🇲🇽🇮🇹🇮🇳🇵🇭🇸🇪🇩🇰🇹🇷🇧🇪🇫🇷🇨🇦🇨🇴🇧🇷

Primary LanguageHTMLMIT LicenseMIT

Coronastatus

All Contributors

Report your health status to get a better overview of COVID-19 in your country

What is this?

We don't know how many people have COVID-19. So we made a website where people can self-report symptoms. We plot the submissions on a map and show graphs with trends.

Countries where Coronastatus launches

Why?

The government is working on this, but they're too slow in getting something out fast.

Mentions in the media

Title Country URL
Self-report system for monitoring COVID19 needs to be in place immediately! 🇳🇴 Read here
Are you ill? Health services will soon let you self-report symtoms. 🇳🇴 Read here

Who's behind this?

A bunch of developers from around the world that wanted to help out. This is not an official website from the health services.

How can I contribute?

Join our Telegram group chat here: https://t.me/onzecorona or reach out on kontakt@bustbyte.no

Click on "Issues" in the menu above to see what we need help with.

How to launch the site in your country

Adding a new language should be pretty straightforward. If you need help, you can always ask in the Telegram group chat or contact us by email. The following is needed in order to set up a new language:

  • Set up a new config file: cp config.example.json config.json. LANGUAGE should be one of the locales from here.
  • In app/locales you have to add (follow filename convention of the files that are already there):
    • A word list that is used for generating unique profile links. If the word list contains between 1000 and 10000 words, you should set PASSCODE_LENGTH: 4 in the config. If it contains more than 10000 words, PASSCODE_LENGTH: 3 should be sufficient.
    • Translations for all the sentences in en.json. The keys are the same in all the {LANGUAGE}.json-files, and the values are the translations. We recommend translating everything in the file first, and then testing the site in order to verify that the translations look ok in context.
    • List of municipalities (we can help with this Check Here).
    • List of postal code coordinates (we have a script for this Check Here).
  • Configure URL paths in app/domain/urls.ts
  • Write a privacy statement in app/views/privacy-statement/{LANGUAGE}-lang-privacy-statement.ejs
  • Add a iamge that will used when sharing the url in social media in /static/{LANGUAGE}/social-media.png. @amritnagi or @adriaanvanrossum can create one if you provide them with text.
  • You also need a domain (preferably coronastatus.tld if it is available), and a server to run the app on. We can assist you with setting this up.

Start developing

You can either install and run everything on your own machine or build a docker image and run the the local development environment using docker. Choose one of the ways below that fits best to you:

Developing on your own machine

Prerequisities

Download & install:

Steps

  1. Clone the repository

git clone https://github.com/BustByte/coronastatus

  1. Move into the newly cloned directory

cd coronastatus

  1. Install dependencies with our package manager

yarn

  1. Create a configuration file from the example provided in this repo

cp config.example.json config.json

  1. Start the development webserver

yarn dev

  1. Open your browser and navigate to http://localhost:7272/

  2. Before you create a pull request run the linter. Warnings are ok, but errors should be fixed.

yarn lint

Developing using docker

Prerequisities

Download & install:

Steps

  1. Clone the repository

git clone https://github.com/BustByte/coronastatus

  1. Move into the newly cloned directory

cd coronastatus

  1. Create a configuration file from the example provided in this repo

cp config.example.json config.json

  1. Build docker image and start the development environment:

docker-compose up --build -d

  1. Open your browser and navigate to http://localhost:7272/

  2. Before you create a pull request run the linter. Warnings are ok, but errors should be fixed.

docker-compose exec app yarn lint

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Stano Bo

🌍

This project follows the all-contributors specification. Contributions of any kind welcome!