This is a rate my professor website application for Northeastern University Computer Science master program.
Website Link: https://neu-rate-my-prof.herokuapp.com/
Demo: https://www.youtube.com/watch?v=2GlXF6pobAY&ab_channel=XuehanYi
How to run the application locally.
Install npm in your local environment.
- npm
npm install npm@latest -g
- Clone the repo
git clone https://github.com/yxhniord/Rate-My-Professor-NEU-CS.git
- Install and run server application
cd server npm install npm start
- Install and run client application
cd client npm install npm start
Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
-
Iteration 1
- Developed all the server-end API (CRUD)
- Created React components and placeholders to represent the functionalities
- Connected frontend and backend and realized the following functions:
- Jump to login/signup pages
- Search for professors by name or part of a name (eg. "AA", "bb","Test")
- Display professor's information
- Display user's information
-
Iteration 2
- Server
- Add professor rate automatic calculation
- Change user model and controller to add more fields
- Change get professor list by name to be case-insensitive
- Secure user-related API calls
- Client
- Implement add-new-comment and update-existing-comment functionalities.
- Display user comments as carousel on homepage when user's logged in.
- Authenticate and authorize users to add/edit comments.
- Redirect user from Auth0 sign up page to information collection page.
- Improve accessibility and mobile responsiveness.
- Server
-
Iteration 3
- Server
- Add display 5 professors by rate API.
- Client
- Implement add user feature.
- Implement delete comment feature.
- Implement YouTube API.
- Enforce authorization on protected pages.
- Server
-
Iteration 4
- Server
- Fix bugs
- Client
- Add tests for all components
- Refractor codes to implement pagination and enhance code re-usability.
- Setup Redux store to prevent repetitive fetching of user information.
- Server
Contributions of all team members.
Server development
- Database design
- Server end API (CRUD for professor, user, comment)
- Test for ratingDetails components
Client development
- Design frontend layout
- Implement pages for Home, SearchResults, ProfessorDetails, AddComment, EditComment and AddProfessor
- Write tests and refractor codes
Client development
- Implement UserProfile page and Comment and CommentList components.
- Integrate user authentication (Signup/Login, Protected route) and Server API security.
- Add YouTube API to Home page
- Write tests and refractor codes
Distributed under the MIT License.
- Xuehan Yi - yxhniord@gmail.com
- Yuheng Miao - miaoyh1997k@gmail.com
- Zhiwei Bao - zhiv.bao@gmail.com
Project Link: https://neu-rate-my-prof.herokuapp.com/