Git Product home page Git Product logo

rhythm-sharma / covid-19-vaccine-availability-notifier Goto Github PK

View Code? Open in Web Editor NEW

This project forked from davemaharshi7/covid-19-vaccine-availability-notifier

0.0 0.0 0.0 127 KB

This project developed for tracking COVID-19 vaccine slots available in your Pincode and district for the 18+ age category. Once available, it will send email notifications to subscribers.

License: MIT License

Python 100.00%

covid-19-vaccine-availability-notifier's Introduction

COVID-19 Vaccine Availability Notifier ๐Ÿš€

๐Ÿ†• Changes: Updated Co-WIN portal API as per the Co-WIN API reference. If you are already using codebase, please fetch the latest changes.

Overview

This project developed for tracking COVID-19 vaccine slots available in your pincode and district for 18+ age category. Once available, it will send email notifications at periodic interval to subscribers until slots are available.

Note: The purpose of this project is help humanity in this covid crisis, where people can get vaccination slots easily and save their time.

Prerequisites

  • Python 3.6+

How to use?

  • Clone this project, open terminal under /app folder.
  • Install the Python packages
    python -m pip install -r requirements.txt
    OR
    pip install -r requirements.txt
  • Configure sender's Email credentials - Create /app/config.json file for configurations.
    Note: This email credentials will be used to send email notification to subscribers. You may need to have App passwords or "Less secure app access" turned on.
{
    "email": "[email protected]",
    "password": "YourSUPER@secretP@ssw0rd-Here",
    "logLevel": "INFO"
}
  • Start the Uvicorn server
    python -m uvicorn main:app --port 8000
    OR
    uvicorn main:app --port 8000
  • Your API server Started ๐Ÿš€
INFO:     Started server process [8408]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
  • Navigate to Swagger UI docs - http://localhost:8000/api/docs
    This is the place you can manage subscribers list and much more...
    Swagger Docs
  • To subscribe yourself to a particular pincode, hit the second enpoint /api/subscribe/pincode and enter your email-address and pincode to be checked.
{
  "email": "[email protected]",
  "pincode": "367005"
}
  • You are done, sit back and relax, you will recieve email notification once slots are available โšกโšก
    Example screenshot attached. Email Template

Subscribe notification for district

  • Make sure API server is running.
  • One can subscribe to district via /api/subscribe/district and enter your email-address and district_id as:
{
  "email": "[email protected]",
  "district_id": "154"
}
  • You can find your district_id by referring link

Unsubscribe to Email Notification

  • One can unsubscribe via POST: /api/unsubscribe/reset endpoint, resulting in removal of all subscribers.

Features

  • Developed with Fast API๐Ÿš€
  • Subscribe via District and Pincode, periodically polled to fetch available slots.
  • Incase of errors, it is logged in separate logger file.

covid-19-vaccine-availability-notifier's People

Contributors

davemaharshi7 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.