The Tallest Dwarf

RSSEmailMastodonNewsletterTwitterGitHubDribbbleLinkedInFacebookInstagramYouTubePinterestReddit icon

BigBasket slot alert

Posted at — Apr 20, 2020 by Abishek Muthian

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.

Objectives

  1. Simple, Readable script to automate browser actions.
  2. Small, Simple to run multi-architectural executables, to be run by even those who doesn't know about programming.

Reasoning for the tool choices

  1. 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.

  2. chromedp for driving browser through Chrome DevTools Protocol since Go is the language being used. Usually NodeJS/Puppeteer is my stack for such activity.

Source

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.

How To

  1. 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.

  2. 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,

    Pushover USER_KEY

    Create an Application/API Token (Name: bigbasket-slot-alert) to get the API_KEY,

    Pushover API_KEY

  3. 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

  4. Browser would open and automatically navigate to the bigbasket.com.

    1. Close the banner on the top of the site as shown in image below.
    2. Login, select your delivery location and return to home page.

    Pushover API_KEY

  5. Profit

    Pushover API_KEY

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.

Demonstration

Push notifications when BigBasket slots are available
Watch the video on YouTube by clicking on the image.

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.

Recommendation for the hardware

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.

Fair Use

Please do not decrease the timeouts and do not disable automatic closure of the program to avoid stressing the BigBasket's servers.

Discussion

Discuss this with me on Twitter.

Change Log

April 22 2020 : Added specific details on how to get the API_KEY and USER_KEY.

Newsletter

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.