Overview

I enjoy working out–whether it’s strength conditioning or all-out cardio–and I love seeing the progress these exercise routines can deliver. However, actually tracking this progress has always been a weak spot for me. For the longest time, I used a notebook and pen to keep track of my current weightlifting limits. But hauling that notebook around become a chore (or I just got more lazy), so I stopped recording my progress.

To get better, you need to be able to track your results. As someone who brings their phone to the gym, I figured what better way to record my progress than with an app. This desire coupled with my long-brewing want to build something with React led me to Sweat Notes.

Sweat Notes was built as a fullstack project. The server is powered by Node.js and Express. The client-side is handled by ReactJS, along with Redux, React Router, and Sass. And the database is managed by MongoDB. The app uses Passport.js to enable account creation and authentication through Google. Once logged in, users can create new exercises, add sets to those exercises, and increase (or decrease) their ability with each set.

This app represents my journey from knowing a little bit about React to more thoroughly understanding the framework’s power and why more and more developers are choosing it for projects. I plan to continue evolving Sweat Notes to be a more versatile exercise tracker. Using other JavaScript libraries, such as D3, I want to be able to turn exercise data into a visual experience that can help users excel in their workouts.

Sweat Notes

Sweat Notes represents my first real deep-dive into ReactJS. This app is 100% JavaScript, using Redux to maintain a consistent data state, as well as Node.js/Express for the server and MongoDB for the database.