Skip to content
🇳🇴🇳🇱🇸🇰🇩🇰🇨🇴🇮🇹🇫🇷🇲🇽🇺🇸🇺🇦🇪🇸🇨🇦🇦🇺🇸🇬🇲🇾🇦🇷🇲🇹🇨🇱🇮🇳🇱🇹🇳🇵 Join the fight! Open source webapp that let people report their health status to get overview of COVID-19
HTML TypeScript CSS JavaScript Python Shell Other
Branch: master
Clone or download

Latest commit

fossecode and sbocinec add test that asserts that json keys are sorted for all locales (#505)
* add test that asserts that json keys are sorted for all locales

* Add sort locale script (#525)

* Add sort-locales script, #505

* Update README

* ran linter and added types to the script for sorting locales

* sorted locales

* sort newly added locales

Co-authored-by: Stano Bo <sb@juniq.net>
Latest commit d1ebc72 Apr 1, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows Add fallback config values (#330) Mar 25, 2020
app add test that asserts that json keys are sorted for all locales (#505) Apr 1, 2020
config-examples Cz translations (#522) Apr 1, 2020
ops add czech to ops Apr 1, 2020
scripts add test that asserts that json keys are sorted for all locales (#505) Apr 1, 2020
static Cz translations (#522) Apr 1, 2020
.all-contributorsrc docs: add sbocinec as a contributor (#232) Mar 22, 2020
.gitignore Cz translations (#522) Apr 1, 2020
.prettierignore Implement new design (#258) Mar 24, 2020
CODEOWNERS Add example of SK deployment (#444) Mar 29, 2020
Dockerfile refactor: docker setup (#379) Mar 26, 2020
LICENSE [License] Added license Mar 16, 2020
Procfile Postgres integration (#354) Mar 26, 2020
README.md add test that asserts that json keys are sorted for all locales (#505) Apr 1, 2020
config.example.json add functionality for multiple locales (#448) Mar 29, 2020
docker-compose.yml refactor: docker setup (#379) Mar 26, 2020
jest.config.js Add endpoint for fetching aggregated data Mar 16, 2020
nodemon.json add nodemon for hot reloading while developing backend Mar 22, 2020
package.json add test that asserts that json keys are sorted for all locales (#505) Apr 1, 2020
postcss.config.js Fix type in postcss script (#288) Mar 24, 2020
tailwind.config.css Implement new design (#258) Mar 24, 2020
tailwind.config.js Add share options (#456) Mar 29, 2020
tsconfig.json added endpoint for exporting data as csv Mar 19, 2020
yarn.lock Generate social images (#388) Mar 29, 2020

README.md

Coronastatus

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.

How can I help?

We need people who can help translate the site, develop new features, project leads for new and existing countries, and much more. Join our group chat: https://t.me/onzecorona

In what countries have you launched Coronastatus?

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. LOCALE should be one of the locales from here. CONTRY_CODE should be the Alpha-2-code listed here: https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes
  • In app/locales you have to add
    • Translations for all the sentences in en.json. The keys are the same in all the {LOCALE}.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.
    • sort the locales alphabetically by keys. You can use a helper script to sort it: yarn sort:locales
  • In app/countrySpecific 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.
    • 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 (set up for the COUNTRY_CODE you added)
  • Write a privacy statement in app/views/privacy-statement/{COUNTRY_CODE}-privacy-statement.ejs.
  • Add a mapping from the locale you added to a corresponding flag in app/domain/flags.ts. The code (two letters) of the flag can be found here.
  • 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.
  • Generate images for social media etc. using this guide
  • We can host the site for you if you want that. Just send a message to us in telegram. This makes it easier to maintain and deploy new changes to all the sites. We will give you access to the server as well. If you insist on hosting it yourself, please add your name to the README here
  • You should also check in the config file for your country in config-examples/{CONTRY_CODE}-config.json.

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. Check if an example config exist for your country in config-examples/, otherwise you can use config.example.json:

cp config.example.json config.json or cp config-examples/no-config.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

Generating social images

Social images (social media share image, Twitter header and generic banner) can be generated by running yarn build:images while your dev server is running. They will be placed in the static folder, in the language you defined in your config.json (make sure LOCALE, BASE_URL and COUNTRY_CODE is set correctly). The social-image.png is then automatically linked as social media share image.

Contributors

We're working on updating this section to include everyone who has devoted time and attention to this project. Stay put!

You can’t perform that action at this time.