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.

  1. A link is generated and an email is sent to our python bot.
  2. 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.
  3. The script sends the information to an email python bot, which uses the stmplib to send the information to the user via email.
  4. The emails are sent periodically in accordance to an increase or decrease in the number of seats for that course.

How we built it - We first scraped the UBC website as a test to get the course name and total seats remaining using python library beautiful soup. Then, we created a database using MySQL and created multiple tables that hold information about the course name, number and section. Also, we created a separate table that stores the information utilised for sending the student a notification email. The properties that the table contains are course name, number, section and student email that is split into two parts. We created the website using PHP and javascript. The main login of the code was also written in python.

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.

Accomplishments that we're proud of - 1. Figuring out how to usepython, sql, PHP and javascript in such a limited time and learning their integration.

  1. Working for 24 hours straight with no sleep.
  2. Debugging for hours and making the code work
  3. Sticking for each other as a team and friends
  4. 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 -

  1. Basics of python
  2. Python parsing in html
  3. Creating python bots
  4. Creating python scripts, classes and functions
  5. Learning to connect python bots and scripts
  6. Learning to make SQL databases
  7. Learning to connect SQL databases and python
  8. Learning to make websites using the combination of php and javascript
  9. Learning the integration of python, sql and the website
  10. Learning google cloud and its hosting process
  11. Teamwork and coordination
  12. Learning to work in stressed environments
  13. Dedication to work
  14. Coding in PHP

Built With

Share this project: