reps-js

JavaScript web app to record gym sessions and track progress

BSD-3-CLAUSE License

Stars
10

Reps

A service that tracks workouts and progress in the gym for maximum gainz! Use Reps to track your latest workouts and plot your next lifts

System Requirements

This app is tested and runs on OS X El Capitan and Ubuntu 14.04, with Postgres 9.x.

Installing dependencies

To install dependencies, install Node and NPM for your system and then:

git checkout [email protected]:scott-w/reps-js.git
cd reps-js
npm install --no-progress

You'll also need to install Postgres and create our database and tables:

npm run createdb  # Requires your sudo password
npm run migrate

Installing on Ubuntu

Install Node 5.x then:

sudo aptitude install build-essential gcc g++

Windows

This app depends on bcrypt which Windows has no default bindings for. Windows users should follow the bcrypt instructions.

Running the server

Running a server is as easy as starting the NPM script:

npm run start

Custom Configuration

The accepted values for NODE_ENV are test, development, staging, and production.

We can also change the JWT secret key using the JWT_PRIVATE_KEY environment variable.

Building the Client App

To build the client-app, simply run:

npm run build

You can also do:

  • npm run compile - Compile the application
  • npm run watch - Constantly rebuild on changes

Running the tests

To run server tests:

npm test

This will run using the Lab test runner.

To run the client tests:

npm run test:client

This will run the client-side tests in your browsers using the Karma test runner.

Running Everything

After configuring and installing everything, you can run a live system by starting the following scripts:

npm run start
npm run watch

Now, simple navigate to http://localhost:3000 to start running the app.