Inspiration - This project came into existence as we were trying to solve a common problem relating to registration of courses. Using the university website for tracking classes can be tricky, time consuming and sometimes straight up frustrating. So, we decided to build a python bot to do the tracking for us!
What it does - We have created a website, where the students are notified by an email about the seats available for the particular course which they looked up on the website. We created a website where students can select the course (eg COSC 111 001) they want to track and have real-time updates of the remaining seats sent as an email notification.
How it works - 1. The user choose the classes to track.
- A link is generated and an email is sent to our python bot.
- The bot parses the gmail html, stores it as a text file and splits it up into 5 parts (Course name, Course Id, Course Section, email name, and email service provider name) 4.The bot calls another script, passes the Course name, Course Id, Course Section and html parses the UBCO website to get the information about the remaining seats in the course.
- The script sends the information to an email python bot, which uses the stmplib to send the information to the user via email.
- The emails are sent periodically in accordance to an increase or decrease in the number of seats for that course.
Challenges we ran into - Having almost not a lot of experience with python, and coming in with an objective of learning python as one of the goals of our hackathon journey, we faced a lot of challenges. Everything from figuring out the syntax, to the integration with different languages, parsing html files in python and even uploading the code as a program that will run using cloud.
- Working for 24 hours straight with no sleep.
- Debugging for hours and making the code work
- Sticking for each other as a team and friends
- Staying motivated and making it through the hackathon!
What we learned - We started as a group of first time hackers with 3 first year CS students with minimal to no experience with python and 1 management student with no coding experience at all.
We learned -
- Basics of python
- Python parsing in html
- Creating python bots
- Creating python scripts, classes and functions
- Learning to connect python bots and scripts
- Learning to make SQL databases
- Learning to connect SQL databases and python
- Learning the integration of python, sql and the website
- Learning google cloud and its hosting process
- Teamwork and coordination
- Learning to work in stressed environments
- Dedication to work
- Coding in PHP