Welcome To quickQuote Documentation!
This site covers quickQuote’s documentation. For basic info on what quickQuote is, as well as a live demo, and user manual please see the main project website - times.github.io/quickQuote .
Here is a step by step plan on how to install quickQuote. It will get you to a point of having a deployed instance on Heroku.
You will need to have the following installed
- ruby on rails
- Git installed locally
- Heroku account
- Heroku installed locally
- ffmpeg (for running development version locally)
- Sequel Pro
Showing how to install these is behiond the scope of this system manual.
a list of most relevant system dependencies
- ruby version 2.0.0
- rails version 4.2.0
- ffmpeg version 2.7.1
- Video js 4.12.8 cdn
- jquery 3.0.0-alpha1 cdn
- bootswatch paper bootstrap.min.css 3.3.5 cdn
- ajax jquery 1.11.2 cdn
- bootstrap js 3.3.5 cdn
Gemfile for list of rails gem dependencies.
You'll need to make the following accounts to get the API keys
- amazon S3
- spoken data API
- Google API
- local mysql database for testing - optional
If not using Heroku, but deploying Heroku style, for instance on Deis, you'll also need a separate database. optional
- amazon RDS
Getting two API keys for spoken data requires two email address to make two distinct account(or 3 if you want only for testing), if you prefer you can just use one account for production and development, but I'd advise against as it can get messy quickly if you try to distinguish on their dashboard which videos you uploaded in development and which once are your users.
Google API key
In the Google developer console, create a new project, and get the client id and client secret.
and enable Google+.
You'll also Also setup a call back URI, such as
You'll need a URI for the deployed application and one for development. Google does not support adding localhost, so you'll need to setup a custom local url. explained below
Local domain name for use in development
For use during developemeant it requires to setup a local DNS for your local host address that maps to your localhost.
$ sudo nano /etc/hosts
127.0.0.1 localhost **your local domain name**.com
You can use same details for development and testing.
This needs to be added to the Google Console API as the redirect URL.
so that in
config/application.yml you can set the environment variable to be:
REDIRECT_URIS: 'http://**your local domain name**.com:3000/auth/google_oauth2/callback'
testing optional you might want to get a dummy gmail address without step two authentication to use for selenium testing. you can use one of the once used in .
add API Keys to project
we are using the figaro gem to deploy our environment variables onto Heroku.
add API keys to a file
dividing by production and development.
$ bundle exec figaro install
config/application.yml and adds it to
# Ignore application configuration /config/application.yml
However, what you want to do is to remove the
/ like so
# Ignore application configuration config/application.yml
Otherside you might accidentally deploy your enviroment variables.
you can use the following template to fill in the details in
How to run the test suite
There is a selenium script to programmatically test login and file upload.
To run it from root of the application use the following comand
$ ruby /test/selenium/selenium_test_video_upload.rb
Database creation - for local developement and testing.
This can be used for testing as well.
- Install mysql locally os x
- To start the server System preferences > MySQL > Start MySQL Server
- Use Squel Pro (or equivalent) to connect to the local MySQL db server.
#MysQL db - Local DB_TEST_USERNAME: 'root' DB_TEST_PASSWORD: '' DB_TEST_DB: '' DB_TEST_END_POINT: '127.0.0.1' DB_TEST_PORT: '3306'
For production, the database is created as part of the deployment script.
To deploy onto heroku cd into the application root folder, login into heroku.
$ heroku login
Then run one of the deployment scripts. Before running the script, inspect the script to costumise the deployment to your needs, and make sure it does what expected, I take no responsability for these 3 deployment script.
When deploying the application for the first time run.
For subsequent deployments you can use
If after the first deployment you want to deploy as new application run
Note that this last one, does not delete the previous application, it simply removes the git remote.
if you wish to delete it, you'd need to run
heroku apps:destroy --app $app --confirm $app where
$app is the name of the app you want to delete. Alternatively you can log in to you Heroku account and delete it from there.