Skip to content

swivelsystems/swivel

Repository files navigation

Stories in Ready

Swivel Systems

Education management software for K-12 schools

Engineering Team

  • Product Owner: Joel Aguero
  • Scrum Master: Kevin Meraz
  • Development Team Members: Jonathan Chen, Elizabeth Harris, Joel Aguero, Kevin Meraz

Table of Contents

  1. Requirements
  2. Tech Stack
  3. Development
  4. Team
  5. Contributing
  6. Deployment

Requirements

Node v5.8
Webpack

Tech Stack

Development

Setting up MySQL database:

(If you don't have Homebrew installed, go to http://brew.sh/ to install Homebrew.)

brew install mysql
mysql -u root
CREATE DATABASE crunchy

Starting the MySQL server:

mysql.server start

Stopping the MySQL server:

mysql.server stop

Installing Dependencies

From within the root directory:

npm install
npm install -g webpack
npm install -g karma-cli
npm install -g jasmine

Serve your files on a webpack server:

'npm run dev-start'

This script uses web pack to bundle your js and jsx files (with source maps), watches the files for changes to trigger a new bundle, and starts your node server on localhost:8080.

Navigate your browser to localhost: 8080 to view the app.

API Endpoints

There are three API endpoints that serve data for students and teachers.

API Endpoint Description
/api/students/:studentId Returns a JSON object with a single student's identifying information and their courses, including meta data, announcement, assignments, and submissions.
/api/teachers/home/:teacherId Returns a JSON object with a single teacher's identifying information and their courses, including meta data, anouncements and assignments.
/api/teachers/course/:courseId Returns a JSON object with a single courses's identifying information and the students associated with that course.

High Level Architecture

Sorry, the architecture image cannot be displayed. View it at http://i.imgur.com/QCvItta.png

Schema Design

Sorry, the schema image cannot be displayed. View it at http://i.imgur.com/U91qHnb.png

Deployment

Swivel is hosted on Amazon Web Services. Our Web/API server resides on an EC2 instance. The EC2 instance is connected to a mySQL version of AWS’ Relational Database Service offering. This is where the majority of Swivel’s data persists.

Swivel’s architecture also includes two separate AWS ElastiCache Redis clusters. The first ElastiCache cluster enhances Swivel’s chat feature, while the second cluster optimizes the UI rendering across the application.

About

Open-source education management platform for K-12 schools -

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •