Skip to content

averybiskup/cs97-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

150 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS97 Project- CourseMe

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.

Demo

Login and Sign Up

Course Search and Course View

Adding Reviews and Saving Courses

Profile View and Removing Courses

Tech/Framework

  • 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

Object Models

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
    }

Features

  • 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

How to use?

Clone the git repository

run the following shell command in the local repository directory

npm install

run the following shell command in the server subdirectory of the local repository directory to start the server

node server.js

run the shell command in the local repository directory to start the client

npm start

A 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

Contributors

Harshil Bhullar,
Dorian Jimenez,
Luis Frias,
Avery Biskup,
Ping-Yang Gao

About

CourseMe is like yelp for online computer science courses.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors