An interactive portal for learning american sign languge. Unauthenticated users can only interact with the Learn mode. Users who don't have a Leap Motion can still study but none of the interactive 3D or custom gesture modes are available.
##Table of Contents
- Team Members
- Tech Stack, API's and Third-party Tools
- Folder and File Structure
- Setting up the Development Environment
- Starting the app
- System Architecture
- Database Schema
- API
- License
##Tech Stack, API's and Third-party Tools
- Angular 2 for the front end framework
- Angular Material- a styling framework for google material design and Angular 2
- Webpack
- Node.js and Express for serving static pages.
- Nodal for API
- Postgres for database
- Docker for micro service management
- AWS for deployment
##Folder and File Structure hello/ | |--config/ - basic config files | |--dist/ - bundle locatoin | |--servers/ | |--api/ | |--Nodal Server | |--static/ | |--Node / Express server |--src/ - Angular 2 Client | |--app/ | |--create | |--learn | |--lib | |--login | |--neurons | |--play | |--profile | |--router-active | |--signup | |--spell | |--welcome | |--welcomeContent | |--welcomeState | |--assests/ | |--css | |--icon | |--img | |--mock-data | |--platform | |--typings | |--globals | |--docs/ |
##Setting up the Development Environment
##How to start the app
###Using Docker:
- Ensure you have docker installed locally and your default machine is running
- Create a directory where you want to run the file
- Copy the docker-compose.yml file from the repo to your new directory
- Run the command docker-compose up -d (the -d flag will run the machine in the background)
- Get the ip address of your docker machine by running docker-machine ip
- Navigate to this IP in your browser
###Running without docker: The below instructions assume you have cloned or downloaded the repo to your local machine.
###Install dependencies:
- Install postrgres
- Navigate to the root directory and run
npm run deps
###Starting the app
- Start your postgres database
- Open a new terminal window and navigate to the root file of the project
- If this is the first time you are starting the app you need to run
npm run db-build
to build the database. - run
npm run nodal
from the root directory of the project - this bootstraps the db and launches nodal. Note this will hijack your terminal window. If you would like nodal to run in the background runnpm run nodal &
. Nodal will now be running as a backround job. - If you are not running nodal in the back ground then open a new terminal window and navigate to the root file of the project
####Running Hello in local production mode:
- To run the app in production mode
npm run hello-prod
. This will make a new build. Launch a web server on port 8000 serving the bundle file. - You can now open
http://localhost:8000/
and view the production build
####Running Hello in local development mode:
- If you want to run in development mode you will need another terminal windows open in addition to however you have chosen to run Nodal.
- In this new terminal window navigate to the root of the project and run
npm run hello-dev
This should make a new build and server this with the webpack dev server on port 3000. - You can now access the app from your browser at
localhost:3000
##API The API endpoints follow the database schema and all accept standard requests except Logins (not listed in ERD because there is no database interaction). The purpose of the logins endpoint is to authorize a user by accepting the return of a token for that user.
##License MIT