A Python Web Application for Checking vaccine slots by pincodes and auto slot booking.

Overview

CoWIN Vaccine Slot Monitoring and Auto Booking (With Auto Capcha Solver)

View Demo · Report Bug · Request Feature

Maintained

About The Project

new_cowin

The Dashboard is developed using Bokeh and python 3.5+. This dashboard is useful for you if you are looking for something which will help you to book the vaccine slot once slots become available. Other Vaccine Finders will notify you once slots become available but you will still need to login to the portal and book the slot manually. This dashboard will look for slot availability continuously and will send the OTP itself once slots become available.

There are two modes available i.e Auto and Manual mode. In Manual mode, user will need to stay alert to enter the OTP manually.

And in Auto mode, user will need to do some installation and configuration as given here, so that script can detect the otp and will book the slot automatically. Auto Mode May not work all the time as this is a experimental feature

If you Like my work, you can Buy me a coffee (or more likely a beer)

Buy Me A Coffee

If this Dashboard has helped you to book your appointment then please don't forget to leave comment here.

Why this project

Being software developer I always try to automate things which are important to me. I really struggled to book the slot on cowin portal and other vaccine finder scripts did not helped me at all. So I wanted to do build something which will not just look for vaccine availability but also help me in automating the otp sending and slot booking tasks.

How this app different from other applications

Other apps/scripts expects you to feed otp every 15 minutes or something which is really not the cool idea. When you use this application, you don't need to feed otp's continuously rather this app will keep on searching for availability and will send otp only when there is slot available. In Auto mode if you have configured things properly then you don't even need to stay near to your laptop provided your phone is always connected to wifi or mobile data

Getting Started

Prerequisites

  • Docker: Click here to install Docker

If you don't want to use Docker then you will need python 3.5+ installed on your system and then clone this repository using into cowin-app folder using git clone https://github.com/suraj-deshmukh/CoWin-Vaccine-Slot-Monitoring-and-Auto-Booking.git cowin-app and install prequisites using pip install -r cowin-app/requirements.txt

Prior Gmail Settings and SMS Forwarder App Configuration for Auto Mode(Not required for Manual Mode)

Gmail App Password

You will need to generate gmail application password to use auto mode. The application password can be generated from here. This application password is different from you login password

Enable IMAP

Follow only Step 1 from this link

Android

You will need to install SMS Forwarder - Auto forward SMS to PC or Phone from google play store

Once you install above app from google play store. Follow below steps.

  1. Open SMS Forwarder - Auto forward SMS to PC or Phone App. Click on bottom-right plus icon like below

plus

  1. Enter your email id under Set up recipients as shown in below screenshot
drawing
  1. Enter Your OTP to register/access CoWIN is text under Rule for text as shown in below screenshot.
drawing
  1. Scroll down to More Settings and enter cowin under Filter Name and click on edit button to edit Email Subject and type [SMSForwarder] new otp %t and click on ok. Refer below image for the same.
drawing
drawing

Finally Click on SAVE button on top-right corner. You can always enable or disable this filter.

Usage for Docker

Auto Mode
  • Open Command Prompt and run docker run --pull always -p 5100:5100 -e PYTHONUNBUFFERED=1 -e TZ=Asia/Kolkata suraj20/cowin-vaccine-monitoring-n-booking-dashboard:latest --args "[email protected]" "app_password_here". The argument --pull always makes sure you are pulling latest image from docker hub.
  • Open browser and type http://localhost:5100/cowin-app.
Manual Mode
  • Open Command Prompt and run docker run --pull always -p 5100:5100 -e PYTHONUNBUFFERED=1 suraj20/cowin-vaccine-monitoring-n-booking-dashboard:latest. The argument --pull always makes sure you are pulling latest image from docker hub.
  • Open browser and type http://localhost:5100/cowin-app.

Usage for non Docker

Auto Mode
  • Make sure your system clock has set to IST(Indian Standard Time)
  • Clone this repo into folder 'cowin-app'
  • Change directory to the folder where you cloned this repository and then run bokeh serve --port 5100 cowin-app/ --args "[email protected]" "app_password_here"
  • Open browser and type http://localhost:5100/cowin-app.
Manual Mode
  • Clone this repo into folder 'cowin-app'
  • Change directory to the folder where you cloned this repository and then run bokeh serve --port 5100 cowin-app/
  • Open browser and type http://localhost:5100/cowin-app.

I recommend using docker option to run this dashboard. The docker option will make sure you always run latest image with latest features and bug fixes.

How to use

  1. Enter your name, select state, select districts, enter pincodes(incase of mulitple pincodes use csv format like 411001,411002 etc)associated with selected district only, 10 digit registered mobile number and reference ids(incase of mulitple ids use csv format like 12345678911234,12345678911111 etc. You will get this reference ids from cowin portal.
  2. Other Fields like date, dose number, age group,vaccine fee and vaccine type have default values. This are self explanatory fields and change as per your requirement.
  3. Select Mode. There are two modes i.e Auto and Manual. Select the one as per your choice
  4. For Dose 2, select the vaccine that you received on dose 1.

How does it work

  1. Enter all the details as explained above and the click on Submit Information button. All fields except OTP and Captcha one will be disabled.
  2. Once you click on Submit Information button, Start button will get enabled and then you can start the background process in seperate thread. The background thread will then monitor the given picodes continuously for slots availability as per the given filters. Once slots becomes available in any of the center in given pincodes, script will send otp to registered mobile number and background thread will stop checking for slots. You will get message as OTP sent successfully pn Reg Mob No. Please enter the OTP within 3 minutes. The center details for which slots are availbale will get populated under Center Name as shown below session
  3. If you have selected Manual mode then enter the OTP received on registered mobile number and click on Submit OTP. If otp is correct then you will get message on dashboard as below

Screenshot from 2021-06-06 22-37-15 (copy)

  1. If selected mode is Auto mode then user will not have to enter otp manually. The SMS Forwarder Application will forward the sms on given gmail id and python script has incoming email monioring code to check incoming emails related to cowin otp. Once script detects otp email it then parse the otp and book the slots directly. User will need to keep the mobile phone connected to wifi or mobile data all the time for SMS Forwarder to work

Demo

auto.mp4

To Do

  • Validations on input fields
  • Resend OTP option
  • Resend Captcha if captcha verfication fails.

How to Contribute to this repo

Follow this

Attempt at a Windows version of the plotman Chia Plot Manager system

windows plotman: an attempt to get plotman to work on windows THIS IS A BETA. Not ready for production use just yet. Almost, but not quite there yet.

59 May 11, 2022
Rick Astley Language is a rick roll oriented, dynamic, strong, esoteric programming language.

Rick Roll Language / Rick Astley Language A rick roll oriented, dynamic, strong, esoteric programming language. Prolegomenon The reasons that I made t

Rick Roll Programming Language 658 Jan 09, 2023
Prometheus exporter for chess.com player data

chess-exporter Prometheus exporter for chess.com player data implemented via chess.com's published data API and Prometheus Python Client Example use c

Mário Uhrík 7 Feb 28, 2022
A stupid obfuscation thing

StupidObfuscation A stupid obfuscation thing How it works The obfuscator takes a string, splits into pieces of one, then, using the table from letter.

Echo 2 May 03, 2022
Get a list of the top-10 rejected libraries in your WhiteSource inventory

WhiteSource Top 10 Rejected Libraries Generate a spreadsheet listing the 10 most common libraries in your WhiteSource inventory that were rejected by

WhiteSource-PS-tools 10 Mar 23, 2022
A performant state estimator for power system

A state estimator for power system. Turbocharged with sparse matrix support, JIT, SIMD and improved ordering.

9 Dec 12, 2022
Clear merged pull requests ref (branch) on GitHub

GitHub PR Cleansing This tool is used to clear merged pull requests ref (branch) on GitHub. GitHub has no feature to auto delete branches on pull requ

Andi N. Dirgantara 12 Apr 19, 2022
Med to csv - A simple way to parse MedAssociate output file in tidy data

MedAssociates to CSV file A simple way to parse MedAssociate output file in tidy

Jean-Emmanuel Longueville 5 Sep 09, 2022
A collection of design patterns and idioms in Python (With tests!).

Python Patterns Help the project financially: Donate: https://smartlegion.github.io/donate/ Yandex Money: https://yoomoney.ru/to/4100115206129186 PayP

5 Sep 12, 2021
Exam assignment for Laboratory of Bioinformatics 2

Exam assignment for Laboratory of Bioinformatics 2 (Alma Mater University of Bologna, Master in Bioinformatics)

2 Oct 22, 2022
Magenta: Music and Art Generation with Machine Intelligence

Magenta is a research project exploring the role of machine learning in the process of creating art and music. Primarily this involves developing new

Magenta 18.1k Jan 05, 2023
Submission from Team OMR for the TRI-NIT Hackathon

Submission from Team OMR for the TRI-NIT Hackathon

0 Feb 01, 2022
Project 2 for Microsoft Azure on WUT

azure-proj2 Project 2 for Microsoft Azure on WUT Table of contents Team Tematyka projektu Architektura Opis rozwiązania Demo dzałania The Team Krzyszt

1 Dec 07, 2021
Example teacher bot for deployment to Chai app.

Create and share your own chatbot Here is the code for uploading the popular "Ms Harris (Teacher)" chatbot to the Chai app. You can tweak the config t

Chai 1 Jan 10, 2022
pvaPy provides Python bindings for EPICS pvAccess

PvaPy - PvAccess for Python The PvaPy package is a Python API for EPICS7. It supports both PVA and CA providers, all standard EPICS7 types (structures

EPICS Base 25 Dec 05, 2022
Small projects for python beginners.

Python Mini Projects For Beginners I recently started doing the #100DaysOfCode Challenge in Python. I've used Python before, but I had switched to JS

Sreekesh Iyer 10 Dec 12, 2022
An execution framework for systematic strategies

WAGMI is an execution framework for systematic strategies. It is very much a work in progress, please don't expect it to work! Architecture The Django

Rich Atkinson 10 Mar 28, 2022
A guy with a lot of useful things to do when doing AtCoder in Python

atcoder_python_env Python で AtCoder をやるときに便利な諸々を用意したやつ コンテスト用フォルダの作成 セットアップ 自動テス

2 Dec 28, 2021
Click2call for asterisk with python

Click2call para Asterisk com Python Este projeto disponibiliza uma API construíd

Benedito Marques 1 Jan 17, 2022
HiSim - House Infrastructure Simulator

HiSim is a Python package for simulation and analysis of household scenarios using modern components as alternative to fossil fuel based ones.

FZJ-IEK3 17 Dec 17, 2022