/fiddio

Live-code playback meets audio explanations.

Primary LanguageJavaScript

Fidd.io

Build Status Dependency Status devDependency Status
Ready ![In Progress](https://badge.waffle.io/fiddioteam/fiddio.png?label=In Progress&title=In Progress) ![Under Review](https://badge.waffle.io/fiddioteam/fiddio.png?label=Under Review&title=Under Review)

Ask. Watch. Learn. Code.

Team

  • Erik Eppel: Product Owner
  • Femi Saliu: Scrum Master
  • Thomas Greenhalgh, Kamron Batman: Development Team

Table of Contents

  1. Usage
  2. Requirements
  3. Installation
    1. PostgreSQL Database
    2. Environment Configuration File
    3. Deployment
  4. Contributing

Usage

On the front end, Fidd.io leverages the Ace Editor API for its in-browser code editors, specifically the UI.Ace from AngularJS's UI Team. The factories responsible for configuring and coordinating the ace editor directive can be found in client/app/editorServices.

Requirements

Backend

Frontend

Utilities

Installation

PostgreSQL Database

Install Postgres. For Mac development, use Postgres.app.

With Postgres installed, set up the database with the following commands:

CREATE DATABASE fiddio;
CREATE USER root PASSWORD '';
ALTER USER root with SUPERUSER;

Environment Configuration File

In the root of the project, add a file called .env with the following:

NODE_ENV    = 'development'

urlAbsolute     = 'fidd.io'
urlAbsoluteDev  = 'localhost:8000'

port            = 80
portDev         = 8000

dbClient        = 'postgres'
dbHost          = '127.0.0.1'
dbUser          = 'root'
dbPassword      = ''
dbDatabase      = 'fiddio'

ghApiIdDev      = ''
ghApiSecretDev  = ''

ghApiId         = ''
ghApiSecret     = ''

fbApiIdDev      = ''
fbApiSecretDev  = ''

fbApiId         = ''
fbApiSecret     = ''

mpApiId     = ''
mpApiSecret   = ''

sessionKey      = 'fiddio'
sessionSecret   = 'we like kitties!'

In the .env file, change NODE_ENV to production for deployment on a production server.

Deployment

With Grunt, Bower, and npm installed globally, install dependencies by running the following commands from the terminal:

npm install
grunt

grunt installs front end dependencies and starts the server. To build the project without starting the server, run grunt build instead of grunt.

To stop the server from running in the background in production mode, run grunt stop.

Contributing

Fidd.io welcomes contributors. To begin contributing, please, see the contributing guidelines.