COVID Heroes is a NodeJS webapp which provides centralized communication between medical institutions and PPE volunteers.
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/
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.
# 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.
COVID Heroes follows the latest maintenance LTS version of Node.
yarn
yarn dev
# production: yarn start
Visit localhost:3000 to view the application.
The Camas Science Olympiad team maintains the webapp, but we'd love your help and expertise on the project! See Contributing.
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.
You need to install yarn first. Go to their website and follow instructions.
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
You need to install the packages with the command below.
yarn
You need to configure your environment variables. First, copy and rename .env.example
to .env
.
PORT=3000
You need to configure your environment variables. First, copy and .env.example
to .env
.
DISCORD_WEBHOOK_URL=https://discordapp.com/api/webhooks/ID/TOKEN
You need to configure your environment variables. First, copy and .env.example
to .env
.
DB_URL=mongodb://mongodb.example.com:27017
- The website hosts the production version of the website.
- Our Github Repository contains the most updated code.
- Our GoFundMe Page is where you can donate and support us.
- Our Instagram Page contains the latest announcements.
- Our Producthunt Page shows the latest feedback from indie makers.
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!
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.
\_ヘ(◕‿◕ ✰)