This is a web application for Oregon State University students to review courses and professors. It helps students get an idea of what a course or professor is like before selecting courses.
- Authenicate with your OSU ONID account
- Add new courses and professors
- Rate/comment on a course or professor
- Quickly search for any course or professor
- View overall ratings, tags, and comments for any course or professor
Both the server and client applications need to be running to use the web application. Run the server application from the server/
subdirectory using npm start
and similarly run the client application from the client/
subdirectory using npm start
. Alternatively run each application using npm run dev
to have the applications automatically refresh after code changes, which preferable for development.
- node v14.21.1
- npm v6.14.17
client/
- the frontend, next.js client-side application
server/
- the backend, node.js server-side application
The node.js application either requires these environment variables or requires an ormconfig.json that specifies the database username and password.
# required if no ormconfig.json is configured
export DATABASE_USERNAME=...
export DATABASE_PASSWORD=...
# optional
export DATABASE_PORT=... # port for database server
export PORT=... # port for app server
Written in Typescript.
- Frontend web framework: React (next.js)
- Backend runtime: Node.js
- API server: Apollo GraphQL
- Database: PostgreSQL