Inspiration
Our inspiration came from the frustration of planning schedules for the upcoming semester. One of the major friction points was having to switch between many websites to check for class availability, average GPA, professor GPA, and sites like RateMyProfessor. So, we set out to solve this problem by consolidating all this information into a single, user-friendly website.
What it does
Our platform allows students to build their class schedules for the upcoming semester and provides historical grade distributions for courses. It also displays professor-specific GPA data, helping students make informed decisions about which courses and instructors to choose.
How we built it
We built this platform using the MERN stack (MongoDB, Express, React, Node.js). The university’s historical course data is provided in CSV format, which we processed and stored in MongoDB. On the backend, Node.js and Express manage the API requests to fetch course and professor data from the database. The frontend, built with React, allows students to search for courses, view grade distributions, and build their schedules intuitively.
Challenges we ran into
One of the major challenges was efficiently organizing and storing the data. We had to design the MongoDB collections in such a way that reduced data redundancy while maintaining high query performance. Aggregating grade distributions across multiple sections of the same course and building a clean interface for users to view and compare this data was another challenge. Additionally, ensuring that the site remained fast and responsive while handling large amounts of historical data was critical.
Accomplishments that we're proud of
We are proud of creating a solution that simplifies the scheduling process for students and provides all relevant academic data in one place. Another accomplishment was designing a backend structure that optimizes storage efficiency by aggregating course data across multiple terms and sections, while still allowing detailed queries by professor or course.
What we learned
We learned a great deal about database design, especially how to structure collections for large datasets with minimal redundancy. The importance of building scalable, efficient APIs was another key takeaway. We also gained experience in frontend design, particularly in creating intuitive interfaces that present complex data in a user-friendly way.
What's next for HokiePokie
Next, we plan to enhance the platform by adding real-time updates for class availability and expanding the data sources to include more universities. We also aim to integrate user feedback to improve the user experience further, as well as optimize route planning for multi-app delivery, making it easier for food delivery drivers to work across platforms efficiently.
Log in or sign up for Devpost to join the conversation.