pallupz / covid-vaccine-booking

This tool can be used to automate booking slots on Co-WIN Platform.
MIT License
597 stars 533 forks source link

Host a UI on the web for automated booking #21

Open 0xRampey opened 3 years ago

0xRampey commented 3 years ago

First of all, great job @pallupz! This worked for me after a an hour of tinkering. beep wasn't beeping so I replaced it with a dog barking sound whenever slots opened. :P

This got me thinking about how its possible to setup a front end and host this so that even laymen can use this service quite easily. Libraries like streamlit allow to easily repurpose python scripts into GUI web apps. Your thoughts?

pallupz commented 3 years ago

I haven't used streamlit before but setting this up as a website would be very useful and should be relatively easy. I went with Python because as a data engineer that's sort of where my primary skillsets are. A real game changer would be porting this to mobile where OTP can be automatically read from SMS and this can run pretty much forever with token expiring.

aj-naik commented 3 years ago

Hey I have been trying to port your code to streamlit and it doesn't work. Thats because of the way streamlit library has ben built. The Streamlit API is very rigid so it is not currently possible to integrate it. Regardless your code is fantastic and very helpful. Thank you for creating this!

pallupz commented 3 years ago

Please feel free to spread the word a bit, if you dont mind. Link: https://www.linkedin.com/feed/update/urn:li:activity:6794138228464193536/

snehankekre commented 3 years ago

@pallupz Thank you for creating this script! It's definitely possible to turn this into a web app using Streamlit. I'm not committing to it, but I will try working on the port over this weekend and the next.

aj-naik commented 3 years ago

@snehankekre I actually learnt streamlit from you on coursera. Thank you very much for those projects and for helping me learn. While it doesn't make any sense to port it now I have a question, the way i was trying to implement it was by creating 2 different input buttons one for Mobile number and one for OTP. One of the things i have noticed in streamlit is that whenever you update a widget the entire script gets re run. In my case it meant that the tokens generated were lost. Is there anything like storing a session in streamlit like we have in Flask? Or any other way to carry forward data from one page to another? I tried some techniques and unfortunately they didn't work

snehankekre commented 3 years ago

@aj-naik That's really cool! I'm glad you and others are still finding value in the Coursera projects. Might have to update them at some point in the future with the latest features in Streamlit.

I believe the session state feature is on our 2021 roadmap, expected to launch in the coming months (I believe). Stay tuned! There are workarounds, but we are working on officially launching the feature. By the way, the latest st.form and st.form_submit_button commands might help with some aspects of your issue. Check out our blog post to learn more: https://blog.streamlit.io/introducing-submit-button-and-forms/

yashwanthm commented 3 years ago

https://yashwanthm.github.io/cowin-vaccine-booking/ Here's a UI hosted for autmated booking. @snehankekre @prampey @pallupz @aj-naik

pallupz commented 3 years ago

Posting here might help: https://discord.gg/rCz8VdRB

yashwanthm commented 3 years ago

@pallupz Can you share the discord invite again?

pallupz commented 3 years ago

https://discord.gg/acgNtmaW