Inspiration
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for Rate My Classes Gettysburg College
๐ Rate My Classes - Gettysburg College
A full-stack web application that allows Gettysburg College students to rate and review their classesโhelping future students make more informed decisions.
๐ Live Demo: https://rate-my-classes-gb.fly.dev
๐ GitHub Repository: https://github.com/minhvdq/rate_my_classes_gb
๐ Inspiration
During my time at Gettysburg College, I often found myself wondering what to expect from upcoming classes. What would the professor be like? Was the course content manageable? These questions inspired me to build Rate My Classes Gettysburg Collegeโa platform where students can rate and review courses they've taken to help others make smarter academic choices.
๐ง What It Does
- ๐ View department-wise course listings
- ๐ Read anonymous reviews and ratings from real students
- โ๏ธ Submit your own course reviews (logged-in users only)
- ๐ All reviews are anonymousโno fear of judgment
- ๐ Admin dashboard for managing professors and classes
โ๏ธ How We Built It
๐ฅ๏ธ Frontend
- React.js (built with Vite)
- Ant Design and Bootstrap for UI
- Responsive across mobile and desktop
๐ Backend
- Node.js + Express.js
- MongoDB Atlas with Mongoose ORM
- JWT-based authentication & CORS protection
- RESTful API endpoints with role-based access
๐ค Scraping Bot
- Selenium + BeautifulSoup in Python
- Automatically scrapes official course data
- Formats and uploads data to MongoDB
- Can be scheduled for updates
๐ง Challenges We Ran Into
The hardest part was designing the schema and API logic to balance data visibility with user privacy. It was essential to expose useful data for users while protecting sensitive review content. I solved this by implementing layered access permissions, where only admins can manage course or professor data.
๐ Accomplishments We're Proud Of
- Successfully integrated frontend, backend, and data scraper into a working full-stack app
- Deployed live with real student users and overwhelmingly positive feedback
- Built a secure authentication and admin system from scratch
๐ What We Learned
I deepened my understanding of system designโbuilding independent components is important, but integrating them cohesively is what makes a full application functional. I also learned to focus on scalability and security from the ground up.
๐ฎ What's Next
- Promote the platform across Gettysburg College to increase user engagement
- Integrate AI-generated course summaries from user reviews
- Build a personalized course recommendation tool using student data and preferences
๐ฆ Project Structure
๐ rate-my-classes-gb/
โโโ ๐ frontend/ # React frontend (Vite + Ant Design)
โโโ ๐ backend/ # Node.js backend (Express + MongoDB)
โโโ ๐ requestBot/ # Selenium web scraper for course data
Log in or sign up for Devpost to join the conversation.