/staysafe-backend

Stay Safe Backed

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Welcome to Stay Safe 👋

License: Apache License 2.0 gitmoji-changelog Twitter: Adithya Sreyaj

Stay Safe is an application to track and learn about Pandemic disease and how to fight them.

🔥 Features

  • Modularized design
  • MongoDB as the Database
  • Communication Queue for processing SMS, Notifications, and Emails
  • Encryption of firebase configuration for easy deployment
  • Caching of Data for better performance
  • Cron Job for automatic updates of data and sending out notifications

🚀 Usage

Make sure you have the pre-requisites installed on your system. You can start by cloning/downloading the repo to your local system.

  1. Install the dependencies of the applications
npm install
  1. Copy the .env.example to another file and name it as .env
cp .env.example .env
  1. Start the application using the command
npm run start:dev

🔥 Services Used

  1. Firebase - for push notifications
  2. Twilio - for SMS messages
  3. SendGrid - for Emails notifications
  4. NewsAPI - for getting related news
  5. RapidAPI - for statistic data

🛠 Environment Variables

#Application Configuration
PORT=
CACHE_EXPIRY_SECONDS=
ENCRYPT_KEY=

#API Configurations
X_RAPIDAPI_HOST=
X_RAPIDAPI_KEY=
WORLD_STATS_URL=
WORLD_TOTAL_NUMBERS=
INDIA_STATS_URL=

#News API Configuration
NEWSAPI_KEY=
NEWSAPI_URL=

#DB Configurations
MONGODB_URI=
REDIS_HOST=
REDIS_PORT=
REDIS_PASSWORD=

#Twilio Configurations
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_PHONE_NUMBER=

TWILIO_VERIFICATION_APP_SID=

SENDGRID_API_KEY=
FROM_EMAIL=

# Firebase DB URL
FIREBASE_DB_URI=


🤝 Contributing

Contributions, issues and feature requests are welcome.
Feel free to check issues page if you want to contribute.

Author

👤 Adithya Sreyaj

👍🏼 Show your support

Please ⭐️ this repository if this project helped you!

📝 License

Copyright © 2020 Adithya Sreyaj.

This project is Apache License 2.0 licensed.