Skip to content

Julius-Tietenberg/course_guide

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

CourseGuide (University Project)

An app to help students choose suitable courses for them. Users can browse and search for courses, view detailed information on courses (scraped from the university website), rate courses and read the feedback on those courses given by other users.

Technical Architecture

We are using the MERN stack as our main architecture:

  • Frontend : React + Material UI
  • Backend : Node.js (Express.js)
  • Database : MongoDB
  • Deployment : Heroku
  • Data: Scraping Tool from ELAS (https://github.com/ude-soco/ELAS)

Team Members

Name of team: SmartFinder

  • William Kana Tsoplefack
  • Fan Ouyang
  • Yasmine Taha Mokhtar
  • Julius Tietenberg
  • Lukas Holtbrink

Project Features

1. Login & Registration

In the current version, when registering the email it has to be the an email address of the University of Duisburg-Essen. That means, the email suffix must contain "uni-due.de", such as in course-guide@uni-due.de

image-20220815042316396

2. Course Overview

  • Search for courses based on course name and professor name
  • Sort courses by average rating score
  • Add course to your dashboard

image-20220815042739627

3. Course Detail

  • View detailed course information
  • View other students' ratings and comments on the courses
  • Add ratings and comments to the courses
  • Link to the university website

image-20220815043015566

4. Student Profile

  • Edit your personal information
  • Access your course selection
  • Remove added courses

image-20220815043643030

5. Ratings

  • Rate courses based on four dimensions
  • Add a short comment

image-20220815043716071

6. How to run the project?

Local Machine

  1. Install NodeJS on your machine.

  2. Open the Frontend Folder in your Terminal and run the commands:

    yarn install yarn start

  3. Open the local development server (http://localhost:3000/).

  4. You can now test the app, the backend is fully deployed (https://course-guide-ude-server.herokuapp.com/).

  5. (Opt.) Use Ctrl+C to terminate the server.

Heroku

Use the following link to view the deployed project on Heroku: https://course-guide-ude-frontend.herokuapp.com/


Welcome to Course Guide Project!

Where can you push changes?

Only the team leader can push changes made by other members

Backend: How to run it?

  • Make sure you have created the file ".env" and fill up with the variable "ATLAS_URI" and also the "TOKEN_SECRET". Put this file inside backend folder
  • Run the command: node server.js

Available API Routes: Running local(XXX: http://localhost:9000 with po)

  • XXX/user/login
  • XXX/user/register
  • XXX/course/course_detail?id=x
  • XXX/course/search (to get all the course)
  • XXX/course/search?page=0&size=5&course_name=x&prof_name=y&sort=desc (filter by courses)
  • XXX/ratings/add?id_course=x (to rating)
  • XXX/ratings/ratings_by_ic_course?id_course=x&page=y&size=z (to get all ratings by one course_id, y: page number and z: the number of items)
  • XXX/user/dashboard/account (to get user profile infos)
  • XXX/user/dashboard/account_update (to update user profile)
  • XXX/dashboard/add?course_id=x (to a selected course from home page to your dashboard: with x the course id)
  • XXX/dashboard/remove?course_id=x (remove a selected course from your dashboard: with x the course id)
  • XXX/dashboard/my-courses (to get courses related to the user logged)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • JavaScript 98.2%
  • HTML 1.2%
  • Other 0.6%