The FSU course search leaves a lot to be desired. It's slow, ugly, and lacking in very basic features. We wanted to improve it to add basic functionality such as using the back button in the browser without losing your place and having multiple instances open in different tabs at once.
What it does
Our back-end code scrapes the FSU course catalog for course codes, titles, descriptions, etc and compiles them into a JSON file. We then read from this file and display the results using our PHP webpages.
How we built it
We found a similar project that we liked and had the functionality we wanted. We then read through it to find out how it worked and modified a few things like the login protocol in order to get into the FSU course catalog. After hours and hours of reading through code and debugging problem after problem, we got it to output the way we wanted it to. The next step was getting it to play nice with a webpage that one of our team members had already built. After some serious tinkering and debugging, we finally got everything working the way we needed it to.
Challenges we ran into
The first challenge was just reading through the very long and complex code we used as a template in order to fully understand how it worked and how the files interacted with each other. After that, we spent quite a while just trying to figure out how to get our code to properly log into the FSU portal and navigate to the course catalog. The next part was just ironing out bug after bug that ranged from improperly coded libraries to obscure dependencies to getting it to play nice with the web framework and everything in between.
Accomplishments that we're proud of
Honestly, we're proud of the whole thing. We're proud that we made the it through the entire Hackathon, we're proud we managed to iron out as many bugs as we did and tackle problems as complex as we did.
What we learned
We learned a tremendous amount about debugging. We had various mentors debug in various ways and it was really just about learning to get into the right mentality. The ability to separate big problems into small problems and tackle each one individually was an invaluable skill that we really had to learn to get through this. We also learned a lot of technical coding skills in Python and HTML.
What's next for Renegrades.com
We still have a bunch of features we want to implement and we need to clean up the website to make it a little more user-friendly and easy on the eyes.