Skip to content

Boby024/practice_project_course_guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CourseGuide

An app to help students choose the suitable courses for them. Users can search for courses, view courses and detailed information, rate courses and view the feedback on courses from 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 must be the a email address of the University of Duisburg-Essen. That means, the email suffix must contain "uni-due.de", such as course-guide@uni-due.de

image-20220815042316396

2. Course Overview

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

image-20220815042739627

3. Course Detail

  • View detailed course information
  • View other students' ratings and comments on the course
  • Add ratings and comments on the course

image-20220815043015566

4. Student Profile

  • Edit your own information
  • Access your selected courses
  • Remove added courses

image-20220815043643030

5. Ratings

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 the CourseGuide Project!

Where can push changes

Only the team leader can push changes made by another members

Creating Branch for Issue ticket

Please always make sure that the branch you created have the same name (short name) for the issue ticket you are working on.

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

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages