One day, a young Western University student named Jason Lee sat and wondered:
How can I see if there is a class going on at the classroom I need to be at in 40 minutes
Then he messaged 3 young developers from the Hack Western 3 Slack chat
He met Joshua Arts, who is a developer comfortable with backend technologies such as Ruby on Rails.
Then he met Lars Nolden, who is a German developer that came to this hackathon SOLELY for developing this project. Just kidding, he took my mock ups from balsamiq and implemented it using bootstrap and beautiful HTML/CSS code.
Last, but not least, he was joined by the amazing Michael Song. He is a fellow Western Student and a far more superior programmer than you probably are. No but seriously, he's good.
What it does
It provides western students with a slick website that displays available classrooms that are empty and not being used by a class. Students will be able to use this to find extra study rooms during exam season.
How we built it
MAD PURE SKILLS BABY
No but for reals, this was the process:
Use Selenium to automate data gathering process
Scrape Western Time Tables with Python using Requests and Beautiful Soup libraries
Set up Ruby on Rails project for back end
Designed the templates for each site
Efficiently stored classrooms data in a MySQL database
Linked Ruby on Rails project with the database
Published web application to make it available for students.
Challenges we ran into
Thanks to mentors and sponsors, we were able to successfully build the project we had in our vision. Some examples of the challenges include:
Figuring out how to "fool" the Western Time Table "refresh capcha robot" (Turns out it was pretty stupid)
Exporting to a CSV using python - shoutout to Google
Seeding the data from the CSV into the database - shout out to Mark and Corey from Media Sonar who helped us a lot
Automating the process of data gathering - which was solved using Selenium
Putting the website on the servers.
Accomplishments that we're proud of
Finishing a hackathon project in one weekend.
Working successfully as a team even though we all met at the hackathon.
Overcoming tough programming challenges.
What we learned
A lot, to be honest
But let's see:
- Web scraping with Python
- Database handling with MySQL and Ruby on Rails
- HTML/CSS - We knew this before, but we feel like we improved a lot in this area
- How to delegate tasks and manage projects properly among a small team
- Motivating each other
- How to sleep on a table
What's next for classroomfor.me
EXPANSION BABY - The next step for classroomfor.me is to serve other universities as well, not just Western University.
University endorsement from Western