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.
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)
Name of team: SmartFinder
- William Kana Tsoplefack
- Fan Ouyang
- Yasmine Taha Mokhtar
- Julius Tietenberg
- Lukas Holtbrink
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
- Search for courses based on course name and professor name
- Sort courses by rating score
- Add courses to your dashboard.
- View detailed course information
- View other students' ratings and comments on the course
- Add ratings and comments on the course
- Edit your own information
- Access your selected courses
- Remove added courses
-
Install NodeJS on your machine.
-
Open the Frontend Folder in your Terminal and run the commands:
yarn install yarn start
-
Open the local development server (http://localhost:3000/).
-
You can now test the app, the backend is fully deployed (https://course-guide-ude-server.herokuapp.com/).
-
(Opt.) Use Ctrl+C to terminate the server.
Use the following link to view the deployed project on Heroku: https://course-guide-ude-frontend.herokuapp.com/
Please always make sure that the branch you created have the same name (short name) for the issue ticket you are working on.
- 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
- 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)




