Skip to content

kqlee/Learn-With-Me

 
 

Repository files navigation

Landing Page Dashboard Classroom

Table of Contents

##Technology Stack

  • React.js & React Router
  • Node.js & Express
  • PostgreSQL
  • Webpack
  • Socket.io
  • Twilio API

Description

Learn With Me is an interactive application that allows users to watch screencast lessons, chat directly with the lecturer, and whiteboard their personal notes, creating the full classroom experience remotely.

##Example / Usage

Sign up for an account, and you will be up and running in no time!

##Getting Started

Requirements

Installing Dependencies

Ensure PostgresSQL installed. Create a database:

CREATE DATABASE classly;

Use the newly made database and run this query this user table:

CREATE TABLE students(id SERIAL PRIMARY KEY NOT NULL, firstname TEXT NOT NULL, lastname TEXT NOT NULL, email TEXT NOT NULL, stars INT NOT NULL, password TEXT NOT NULL);

On the server.js file be sure to change the following line to fit your username, port, and password of the database:

var db = pgp("postgres://danialsajjad:@127.0.0.1:5432/classly");

From the root directory run:

npm install
npm install -g nodemon webpack
webpack --watch
nodemon server.js

//visit localhost:8000 in the browser.

Create a .env file that includes the following:

TWILIO_ACCOUNT_SID=''
TWILIO_API_KEY=''
TWILIO_API_SECRET=''
TWILIO_CONFIGURATION_SID=''

Fill out the above with the information you received from Twilio.

Testing

Client side testing is implemented with Karma and Airbnb's Enzyme framework. Developers can pinpoint the source of their errors's using Enzyme's shallow rendering and Karma's sourcemap. Server side testing is implement with Supertest and Chai.

From the root directory run:

npm test

Architecture

High Level Architecture

Architecture

Future Road Map

  • Implement email notification on signup
  • Save notes on dashboard and show last 5 notes on classroom page
  • Develop course creation
  • Ability to rate teachers and students
  • Payment processing
  • Separate teacher and student portals
  • Scheduling capabilities for teacher office hours and email notification for appointments
  • Recording of session and accessing sessions on dashboard
  • Teacher and student profile
  • Camera rotation
  • LinkedIn OAuth for teachers
  • Subscribing to teachers
  • Integration with Google calendar

Team Members

Team v2.0

Product Owner: Rodaan Rabang

Scrum Master: Kent Lee

Development Team: Dan Sajjad, Esther Cuan,

Team v1.0

Product Owner: Ashwini Jogwar

Scrum Master: Cathy Lee

Development Team: David Doan, Jen Wong

"Distributed under the MIT License."

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 73.0%
  • CSS 23.8%
  • HTML 3.2%