This is a web app that allows users to create custom workout routines and track their progress.
Create an account, make a routine, and log your progress during each workout. Using the Meteor framework for NodeJS, the application can work both on your computer as well as mobile device.
The ability to move seemlessly between computer to mobile, is what makes our app ideal for those looking to get in shape. Spare your thumbs by navigating to our webpage on your home computer to make a routine. And when you're ready to hit the gym, use the mobile app to log your progress between each set.
Please try out the deployed app in Heroku, found here.
Please log in with the username: sample
and password: sample
.
Tyler Geerdts - Lead Backend Developer / Project Manager
Tom Thompson - Lead React Developer / Android DevOps
Muhammet Aydin - Lead Designer / Meteor Developer
Krishna Yellayi - Lead UI Designer / React Developer
On the Front End, the app uses React
JavaScript Framework with React Router
and Redux
. And for styling, the Material-Ui
Component Library and React Grid System
were used.
On the Back End, the app uses the Meteor
Framework for NodeJS
. Within Meteor, we persist data using MongoDB
and call upon the accounts-ui
package for user authenication. Naturally, Express
is used as the router, and bcrypt-nodejs
for hashing user passwords.
If you wish to clone the app down to your local machine...
- Ensure that you have MongoDB set up on your laptop * An amazing repo to get you started with that can be found here.
- Also ensure that you have Meteor installed on your laptop * Visit https://www.meteor.com/ to download a copy.
- Once you are set up,
cd
into this repo and runmeteor npm install
. - Afterward, run
meteor
in Terminal to start up the app. - Then, navigate to
localhost:3000
in your browser.
The app can be compiled down to your Android device by following these steps:
- Connect your Android Device to your laptop.
- Ensure that your Android device has "USB debugging" enabled.
- To enable Step 2, please refer to this Stack Overflow Question.
- Then
cd
into this repo on your laptop. - In terminal, run
MONGO_URL="mongodb://tom:12345678@ds131099.mlab.com:31099/heroku_1kd2vdn1" meteor run android-device --mobile-server=https://my-swoleness-pal.herokuapp.com
- If it worked properly, you should now have the app on your mobile device.
If you are curious about the MONGO_URL, note that it was created by the following steps:
- Navigating to the app in the Heroku Dashboard.
- Under the "Installed add-ons", selecting "mLab MongoDB".
- This will take you to the mLab webpage, where you would click "Users".
- Then selecting, "+ Add database user" and filling out the form.
- Notice how the username and password are part of the MONGO_URL.
- Notice how the top of the page has a "To connect using a driver via the standard MongoDB URI" link.
- These parameters were passed into the following format...
MONGO_URL="mongodb://<username>:<password>@<mlab url>.mlab.com:<portnumber>/<dbname>" meteor run android-device --mobile-server=https://<appname>.herokuapp.com
Note that as of 2021, mLab has been replaced with Mongo Atlas.
2021 update
MONGO_URL was created on MongoDB atlas using the following steps
- Creating a MongoDB atlas account
- Click Create New Project to create new Atlas project
- In your new project click Create New Cluster
- Once Cluster is created with new users click on connect
- Select connect from application to get the specific MONGO_URL
- MONGO_URL is in the following format
MONGO_URL="mongodb://<username>:<password>@<atlas url1>:<portnumber>,@<atlas url2>:<portnumber>,<atlas url3>:<portnumber>/<dbname>?ssl=true&replicaSet=<replicaSetName>&authSource=admin&retryWrites=true&w=majority" meteor run android-device --mobile-server=https://<appname>.meteorapp.com