qRate is a comprehensive course and professor rating platform designed exclusively for Queen's University students. Built by students, for students, qRate empowers the Queen's community to make informed academic decisions through authentic peer reviews and comprehensive course data.
- Course Discovery: Browse and search through Queen's University courses with detailed information, ratings, and student reviews
- Professor Insights: Access ratings and reviews for professors across all faculties at Queen's
- Authentic Reviews: Read and submit genuine student experiences with courses and instructors
- Academic Planning: Make informed course selection decisions based on peer feedback about difficulty, usefulness, workload, and teaching quality
- Community-Driven: Built and maintained by Queen's students using real student experiences
- Comprehensive Course Database: Complete course catalog with prerequisites, descriptions, and offering terms
- Multi-dimensional Ratings: Courses rated on overall quality, difficulty, usefulness, workload, and teaching quality
- Professor Profiles: Detailed professor pages with ratings for helpfulness, clarity, and difficulty
- Authenticated Reviews: Queen's-only access using @queensu.ca email verification
- Advanced Filtering: Search and filter by faculty, department, rating, and more
- Responsive Design: Optimized for desktop and mobile usage
- Framework: React 18 with TypeScript
- Routing: React Router v6
- Styling: Tailwind CSS with shadcn/ui components
- State Management: React hooks (useState, useEffect, custom hooks)
- HTTP Client: Axios for API communication
- Build Tool: Vite
- Deployment: Hosted on modern web hosting platform
- Runtime: Node.js
- Framework: Express.js
- Database: MongoDB with Mongoose ODM
- Authentication: JWT-based auth system
- Email Verification: Integrated email verification for @queensu.ca accounts
- API Architecture: RESTful API design
- Deployment: Azure Web Services
- Users Collection: Student accounts with email verification
- Courses Collection: Complete Queen's course catalog with metadata
- Reviews Collection: Student course reviews with ratings and comments
- Professors Collection: Faculty information and aggregated ratings
- Professor Reviews Collection: Professor-specific student feedback
Core Development Team (Class of 2026)
- Nathan Daniel - Full-stack development, AI integration, hardware architecture
- Lucas Srigley - Backend specialist, database architecture, API development
- Jamie Bell - Data systems, rating algorithms, review aggregation
- Nolan Steed - Data optimization, algorithm development, system performance
All team members are Computer Engineering students at Queen's University.
- Node.js 18+
- MongoDB instance
- Queen's University email address (@queensu.ca)
git clone https://github.com/qrate-org/qrate-frontend
cd qrate-frontend
npm install
npm run devgit clone https://github.com/qrate-org/qrate-backend
cd qrate-backend
npm install
npm startMONGODB_URI- MongoDB connection stringJWT_SECRET- Secret key for JWT tokensEMAIL_SERVICE- Email service configurationFRONTEND_URL- Frontend application URL
GET /api/v1/courses- Browse courses with paginationGET /api/v1/courses/:id- Get specific course detailsPOST /api/v1/reviews/new- Submit course review
GET /api/v1/professors- Browse professorsGET /api/v1/professor-reviews/search- Get professor reviewsPOST /api/v1/professor-reviews/new- Submit professor review
-
POST /api/v1/auth/register- Create account -
POST /api/v1/auth/login- User login -
GET /api/v1/auth/verify- Email verification -
Respect student privacy and data security
- Email verification required for all accounts
- No personal information shared beyond username
- Reviews are anonymous to protect student privacy
- Data secured with industry-standard practices
- Compliant with Canadian privacy regulations
Built with ❤️ by Queen's students, for Queen's students
Not affiliated with Queen's University. An independent student-led initiative.