BigBasket is the leading online grocery delivery portal in India, due to the reduced workforce and extraordinary demand; the bookings happen at random slots and we have no other choice but to keep checking the app regularly.
A need gap was posted recently, asking for a solution to this problem. Since this affects many including myself, I decided to give it a shot.
Go as the programming language, for its readability and easy executable generation. More over it's my Go-To language of choice now, pardon the pun; social isolation.
chromedp for driving browser through Chrome DevTools Protocol since Go is the language being used. Usually NodeJS/Puppeteer is my stack for such activity.
The entire project is available on Github with instructions on how to run the executables.
Those who don't care for the code, can download the executables directly from the releases according to your OS/Architecture.
Download the correct executable for your platform.
e.g. If you are on Windows, in a computer bought in last 10 years; it's likely 64 bit Windows on a x86_64 Architecture. So the file you need to download is windows_x86_64.zip. Unzip the file and you'll get bigbasket-slot-alert.exe inside the windows_x86_64 folder.
You need to generate the API_KEY and note the USER_KEY from Pushover for notifications (Free 7 day trial available as of writing).
Install Pushover android or iOS app, you'll be asked to create an user account.
Login to Pushover on the web browser in your computer using the new created account.
You can see the USER_KEY on the home page,
Create an Application/API Token (Name: bigbasket-slot-alert) to get the API_KEY,
Open Command Promt (cmd) and drag the bigbasket-slot-alert.exe file to it.
Paste the API_KEY & USER_KEY you copied earlier after the file and press enter.
bigbasket-slot-alert.exe API_KEY USER_KEY
Browser would open and automatically navigate to the bigbasket.com.
Profit
Book your grocery. I recommend having your grocery list stored in your app already for faster booking. Inform your neighbours about open slot in BigBasket.
Run the program again when you need to monitor for a open slot and recommend this to someone who is struggling to find an open slot on BigBasket.
Note : The API_KEY & USER_KEY shown in the video are fake, for demonstration purposes.
The demonstration also shows an optional way to read out notification in android using the LightFlow Pro app.
I would suggest running the script 24*7 (until the slot is found) in a low power ARM (One which is powerful enough to run chrome browser) or a fanless chromebook.
Please do not decrease the timeouts and do not disable automatic closure of the program to avoid stressing the BigBasket's servers.
Discuss this with me on Twitter.
April 22 2020 : Added specific details on how to get the API_KEY and USER_KEY.
I strive to write low frequency, High quality content on Health, Product Development, Programming, Software Engineering, DIY, Security, Philosophy and other interests. If you would like to receive them in your email inbox then please consider subscribing to my Newsletter.