BU Rate is a full-stack course discovery and review platform built for Boston University students.
It helps students explore courses, read anonymous reviews, track HUB progress, and get AI-assisted course advice — all in one place.
The platform is designed to be secure, scalable, and data-driven, with a modern React frontend and a Spring Boot backend.
- Browse 7,500+ BU courses with pagination and sorting
- Advanced filtering by:
- College
- Department
- HUB requirements
- Minimum rating
- Prerequisites
- Keyword search by course code or name
- Detailed course pages with ratings and reviews
- Create, edit, and delete anonymous course reviews
- Filter reviews by instructor
- View instructor-specific scores
- Upvote and downvote reviews to surface helpful feedback
- Personal “My Reviews” section for users
- Email-verified user registration
- JWT-based authentication and authorization
- Secure password reset and update flows
- Account settings management
- Full account deletion support
- Mark courses as completed
- Automatic HUB requirement progress calculation
- Personalized dashboard with academic overview
- Chat-based advisor trained on:
- BU course data
- Student reviews
- Ask natural questions about:
- Course difficulty
- Workload
- Comparisons between classes
- Academic fit
- Retrieval-Augmented Generation (RAG) pipeline using vector embeddings
- Java 17
- Spring Boot 3
- Spring Security + JWT
- Spring Data JPA (Hibernate)
- PostgreSQL + pgvector
- LangChain4j (RAG)
- JSoup (course ingestion)
- JUnit + H2 (testing)
- Resend (email delivery)
- React
- TypeScript
- Vite
- Bootstrap
- Custom CSS
POST /api/auth/registerPOST /api/auth/verifyPOST /api/auth/loginPOST /api/auth/forgot-passwordPOST /api/auth/reset-passwordPUT /api/auth/update-passwordGET /api/auth/me
GET /api/coursesGET /api/courses/{id}GET /api/courses/searchGET /api/courses/collegesGET /api/courses/departments/{college}
POST /api/reviews/course/{courseId}PUT /api/reviews/{reviewId}DELETE /api/reviews/{reviewId}GET /api/reviews/course/{courseId}GET /api/reviews/my-reviews
POST /api/votes/review/{reviewId}GET /api/votes/review/{reviewId}
GET /api/users/dashboardGET /api/users/hub-progressPOST /api/users/completed-courses/{courseId}DELETE /api/users/completed-courses/{courseId}PUT /api/users/accountDELETE /api/users/delete
POST /api/ai/chatPOST /api/ai/sync-coursesPOST /api/ai/sync-reviews
The AI Advisor uses a Retrieval-Augmented Generation (RAG) pipeline:
- Courses and reviews are embedded using MiniLM
- Embeddings are stored in PostgreSQL via pgvector
- Relevant context is retrieved at query time
- Responses are generated using LLMs (OpenAI / Gemini)
This ensures responses are grounded in real BU course and review data.
./gradlew bootRunnpm install
npm run devPOSTGRES_USER=
POSTGRES_PASSWORD=
JDBC_DATABASE_URL=
JWT_SECRET_KEY=
RESEND_API_KEY=
GOOGLE_API_KEY=- JUnit and Spring Boot Test
- H2 in-memory database for isolated tests
- Spring Security test utilities
Run tests:
./gradlew testBU Rate is an independent project and is not officially affiliated with Boston University.