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

๐Ÿ”— Backend

๐Ÿค– 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
Share this project:

Updates