NUS's module bidding has always been a laborious task, with information located all over the place. The biggest question has always been things like "when can I bid for a certain module?" "is it available in this round?" "I don't seem to be able to bid for that module in this round". Even in our senior year, we still face the same problem each time, with no signs of the interface improving. Our project aims to streamline the process of checking when a module is available for bidding, making it a less daunting task for the freshmen, and less of a chore for the seniors alike.
What it does
Our bot can help check for when a module is available for bidding along with past bidding statistics , and sends a reminder for the user to do so.
How we built it
We started off with a web-scraping tool to obtain the data sets for which module was available to bid during which round. We then created a telegram bot with its backend in python, which retrieves the module bidding information alongside past bidding statistics. Next, we implemented a database to store the user meta data such as their faculty and year, as well as the ability to subscribe to a reminder list as to when their desired module was available for bidding. Lastly, we went on to polish the user interface, and carry out bug testing.
Challenges we ran into
There was no proper API for obtaining the modules that were available for bidding in a particular round
Accomplishments that we're proud of
We learnt MongoDB, Python and the Telegram Bot API all within a day!
What we learned
We learnt MongoDB, Python and the Telegram Bot API!
What's next for 013 - ofCORS
We hope that the school releases a proper API for their biding reports or at least improve on their current system's interface, to make their own application more user friendly. Otherwise, we will still be able to continue on this project in our own free time, helping everyone out in their module bidding when the time comes.