Skip to content

nhmood/rickybobby

Repository files navigation

rickybobby

rickybobby is a webapp that lets you compete head to head on Peloton rides. The app consists of a scraper that pulls data from the (unofficial) Peloton API into a local SQLite database, and a web frontend that sources the data for head to head comparisons, history, and user profiles.

The project came about as a way to systematically one up a friend on Peloton rides and ended up as a dive into NodeJS, the Baked Data Architecture, and writing a mini/lite ORM for SQLite.

Installation / Usage

rickybobby requires nginx and docker

# clone the repo
git clone https://github.com/nhmood/rickybobby.git
cd rickybobby

# build the docker image
./docker.sh build

# update the rickybobby.yml with peloton credentials
# NOTE: recommended that you create a separate peloton account in case
#       peloton doesn't take too kindly to the API usage
vim rickybobby.yml

# run the web interface
./docker.sh web

# configure nginx
ln -s $PWD/infra/nginx/rickybobby.conf /etc/nginx/sites-available
ln -s /etc/nginx/sites-available/rickybobby.conf /etc/nginx/sites-enabled
sudo nginx -t # check config
sudo service nginx restart
sudo service nginx status

# add sync to crontab
crontab -l >> cronupdate
cat cron.example >> cronupdate
crontab cronupdate
rm cronupdate

About

if you're not first, you're last : webapp to compare peloton workouts head to head against friends

Resources

Stars

Watchers

Forks