During our first year at Ryerson, we found navigating through the RAMSS UI and adding courses was difficult. As we became upper years, we had trouble knowing whether a liberal or open elective was available in a given semester and what prerequisites we needed for a course. Based on our own experiences as students, we seek to make the course planning, selection and enrollment as smooth and painless as possible through our design.
What it does
In terms of functionality, RUPrint - keeps track of a student’s progress throughout their academic career, with efficient management of - course information and organization. - shows needed prerequisites and general summary for the course.
How we built it
Database First we determined what information we would want to gather from the Ryerson Course pages. Afterwards we needed a method to extract this information using automation. We did not have much experience with scripts to scrape pages so we utilized the scraping tool ParseHub. ParseHub provided a JSON file which we used to import into Firebase Firestore. Using a Node.js package we imported the JSON data into our database.
Challenges we ran into
The first challenge was scraping the information from the Ryerson website and importing it into Firestore. After we dealt with that issue, we organized the information in an orderly and efficient manner; then, we transferred into the RUprint website. The second challenge we faced was displaying the gathered information onto the RUPrint website.
What we learned
Throughout the project, we had the opportunity to develop and hone skills relating to: - Operating and integrating a Firestore database - JSON file manipulation - Object Oriented Programming - Design Our time developing RUPrint helped us gain valuable experience and understanding in these important web development and back end tools.
What's next for RUPrint
Our plan for RUPrint is to introduce more features that will make the student experience much more easy and comfortable. Our future additions to the design include: - GPA weighted average - Completed prerequisites - Grades for previous courses And much more….