Skip to content
No description, website, or topics provided.
JavaScript HTML CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A simple, streamlined application for keeping track of the books you have read and the books you want to read.


  • Product Owner: Ben Baum
  • Scrum Master: Michelle Thorsell
  • Development Team Members: Jordan Murphy, Josh Reisenbach

Table of Contents

  1. Usage
  2. Requirements
  3. Development
    1. Installing Dependencies
    2. Tasks
  4. Team
  5. Contributing


Fork and clone this repo. From the mysql command line:

mysql> create database booklist;
mysql> use booklist;


  • Node >= 0.10.41 (tested only on 0.10.41, 0.12.7, and 5.5.0)
  • MySQL 5.5.x (higher versions known to be incompatible)
  • If you are running MySQL > 5.5.x, we recommend using homebrew to uninstall your current version and install the correct one. Run brew uninstall mysql, and then brew install homebrew/versions/mysql55. If the mysql command no longer works from the command line, you may have to reference your new version via /usr/local/opt/mysql55/bin/mysql (and you can create an alias for that path).


Installing Dependencies

From within the root directory:

sudo npm install -g bower
sudo npm install -g grunt-cli

npm install 
// runs bower install for you

grunt watch:dev 
// continuous compilation, concatenation, and minification of files

npm start 
// uses nodemon

The server runs on port 8080 by default.

In production:

node server/server.js 

Booting up the server for the first time will create the db schema.

Amazon Web Services

Create an AWS account. In the AWS console, click on your name on the top right of the screen and select Security Credentials from the dropdown. Select Access Keys and note your Access Key ID and Secret Key.

Amazon Associates

Sign up for the Amazon Associates Program. Note your Tracking ID.


Create an Auth0 account, and specify Amazon as an authentication method. Note your Client ID, Client Secret, and domain.

Make sure your allowed callback URLs are set up appropriately (include at least http://localhost:8080/ and

IMPORTANT: Auth0 credentials must be specified as environment variables (described below), but also in app.routes.js, specifically in the .config(['authProvider... block.

Environment Variables

Development: Create a .env file in the root directory that you do not commit to version control. Example files can be found on the node-env-file npm page.

The variables you need to define are:

  • DB_USER (mysql username)
  • DB_PASSWORD ('' if none)
  • AWS_ACCESS_KEY_ID (AWS access key)
  • AWS_SECRET_KEY (AWS secret key)
  • AWS_ASSOCIATES_ID (amazon associates tracking ID)
  • AUTH_ID (auth0 client ID)
  • AUTH_SECRET (auth0 secret)

Production: Set these environment variables via your deployment solution (e.g. Heroku).


View the project roadmap here


See for contribution guidelines.

You can’t perform that action at this time.