##Technology Stack
- React.js & React Router
- Node.js & Express
- PostgreSQL
- Webpack
- Socket.io
- Twilio API
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
- node.js - v6.2.0
- Go to Twilio's site and follow directions at (https://www.twilio.com/docs/api/ip-messaging/guides/quickstart-js) to create a Twilio account to get SID and API keys
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.
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
- 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
Product Owner: Rodaan Rabang
Scrum Master: Kent Lee
Development Team: Dan Sajjad, Esther Cuan,
Product Owner: Ashwini Jogwar
Scrum Master: Cathy Lee
Development Team: David Doan, Jen Wong
"Distributed under the MIT License."