Description: For the project we decided on a website application where users can discover computer science courses that are applicable to the field they want to learn more about. Users who create an account can save, add, and rate courses, as well as leave reviews.
Login and Sign Up
Course Search and Course View
Adding Reviews and Saving Courses
Profile View and Removing Courses
- Node.js
- React
Package | Usage
js-search - https://github.com/bvaughn/js-search
- for the search bar implementation
axios - https://github.com/axios/axios
- for getting/posting data to the server
firebase-admin - https://github.com/firebase/firebase-admin-node
- for authentication to database
react-dom-router - https://github.com/ReactTraining/react-router
- for routing components
react - https://github.com/facebook/react
- should be self explanatory
js-sha256 - https://github.com/emn178/js-sha256
- for creating the sha hash for passwords
react-star-ratings - https://github.com/ekeric13/react-star-ratings
- for displaying stars
create-react-app - https://github.com/facebook/create-react-app
- boiler plate
gh-pages - https://github.com/tschaub/gh-pages
- for building the static cite
Course: {
- id: int
- title: string
- author: string
- tags: array of strings
- price: int
- course_rating: int
- reviews: object of objects
- link: string
}
Review: {
- id: int
- title: string
- author: string
- course_id: int
- body: string
- rating: int
- date: string
- course_name
}
User: {
- id: int
- username: string
- password: sha256 hash
- date_joined: string
- reviews: object of reviews
- saved_courses: object of course names and ids
}
- Display dynamic data to the user: display courses
- Upload data from the client to the back-end: username and password
- Meaningfully search through server-side data: search for courses
- Rate courses
- saving courses to profile
- Password strength indicator
- saving reviews left to your profile
Clone the git repository
run the following shell command in the local repository directory
npm installrun the following shell command in the server subdirectory of the local repository directory to start the server
node server.jsrun the shell command in the local repository directory to start the client
npm startA browser will open to view the local instance of the application
NOTE: you need to add the secret.json in the server subdirectory which is obtainable by the repository owner
Harshil Bhullar,
Dorian Jimenez,
Luis Frias,
Avery Biskup,
Ping-Yang Gao



