Skip to content
This repository has been archived by the owner on Apr 18, 2021. It is now read-only.

✋ COVID-19 communication platform to support medical workers.

License

Notifications You must be signed in to change notification settings

camasscioly/covidheroes.net

Repository files navigation

Note: COVID Heroes is no longer actively maintained or used.

COVID Heroes

Build Status Dependencies Code Size code style: prettier License

COVID Heroes is a NodeJS webapp which provides centralized communication between medical institutions and PPE volunteers.

What can I do?

Most things you can do in email can be done in COVID Heroes

  • Creating card-based offers/requests for resources
  • User account management and tracking
  • Reputation system for active contributors
  • Location mapping and distance calculation
  • Simple NodeJS backend with MongoDB adapters
  • Email integration

Give it a spin: https://covidheroes.net/

Getting Started

Installation

git clone https://github.com/camasscioly/covidheroes.net.git
cd covidheroes.net

Note: You will need at least NodeJS 10.18.1+, VSCode 1.44+, Yarn 1.17.3+ and MongoDB 3+. You will also need to configure .env variables before launching.

Configuring Environment Variables

# Environment Config
# Store your secrets and config variables in here
# reference these in code with process.env.ENV_VARIABLE

PORT=3000
DB_URL=mongodb://mongodb.example.com:27017
SENDGRID_API_KEY=example-sendgrid-token
DISCORD_WEBHOOK_URL=https://discordapp.com/api/webhooks/ID/TOKEN
HYVOR_PRIVATE_KEY=example-hyvor-private-key

# Note: MongoDB URI must be in the mongodb:// protocol, the mongodb+srv:// is not supported

Copy and rename .env.example to .env to be able to interact with process.env in NodeJS.

Usage

COVID Heroes follows the latest maintenance LTS version of Node.

yarn
yarn dev
# production: yarn start

Visit localhost:3000 to view the application.

FAQ

Q: Who maintains COVID Heroes?

The Camas Science Olympiad team maintains the webapp, but we'd love your help and expertise on the project! See Contributing.

Q: What are COVID Heroes’ goals and principles?

The goals of the project are:

  • Provide a slim, canonical webapp that centralizes communication between medical institutions and PPE volunteers.
  • Provide a reference implementation for similar webapps for crises in the future.
  • Grow the adoption of web platforms for managing requests/offers.
  • Help support the PPE and maker volunteer movement.
  • Learn more about creating a CRUD webapp and learn about creating a service.

We adapt Chromium principles to help us drive product decisions:

  • Speed: COVID Heroes core has almost zero performance overhead and is compressed with deflate and gzip.
  • Security: COVID Heroes is secured with 128-bit SSL and passwords are hashed with bcrypt with 10 rounds of salt.
  • Stability: COVID Heroes should not be flaky and should not leak memory.
  • Simplicity: COVID Heroes provides a high-level interface that’s easy to use, understand, and debug.

Q: I'm recieving ReferenceError: yarn is not defined whenever I try to use Yarn

You need to install yarn first. Go to their website and follow instructions.

Q: What's the difference between yarn start and yarn dev?

Our project has two environments: Production and Development. The production environment is used when it is actually hosted, an example is https://covidheroes.net. The development environment shows more "developer" metrics, helping you to debug, but is not suitible for production.

yarn start # production

yarn dev # development

Q: I'm recieving Error: Cannot find module 'example' whenever I start the project

You need to install the packages with the command below.

yarn

Q: I'm recieving ERR_SOCKET_BAD_PORT whenever I start the project

You need to configure your environment variables. First, copy and rename .env.example to .env.

PORT=3000

Q: I'm recieving Error: Only absolute URLs are supported whenever I start the project

You need to configure your environment variables. First, copy and .env.example to .env.

DISCORD_WEBHOOK_URL=https://discordapp.com/api/webhooks/ID/TOKEN

Q: Database queries arent working.

You need to configure your environment variables. First, copy and .env.example to .env.

DB_URL=mongodb://mongodb.example.com:27017

Useful Links

Contribution

Please make sure to read the Contributing Guide before making a pull request.

Thank you to all the people who already contributed to COVID Heroes!

Sponsors

Made by Camas Science Olympiad

Camas High School SciOly is like an academic track meet, consisting of 23 events for both middle and high school divisions. While exploring disciplines such as chemistry, biology, earth science, physics, and engineering, students are able to develop valuable teamwork and study skills in a fun and challenging environment.

Find out more about Camas Scioly.

ko-fi

\_ヘ(◕‿◕ ✰)

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •