A workout app built for people who are sick of hitting paywalls.
A modern, user-focused database for exercises, workout routines, weight/progress tracking and training plans.
Built with React.js using Pocketbase for backend
Start the app by cloning the repository. Then cd pb
and run ./pocketbase serve
.
In another terminal, cd pb_app
and run npm run dev
to get started.
For this project, I relied mainly on Tailwind CSS for styling, React Router for navigation, and Recharts to create visualizations.
In this project, I used the following techniques taught in class:
- UseContext (to handle Authentication state)
- Nested Routes to create a fast, modern-feeling dashboard
- UseState, UseEffect, and Custom React Hooks for login, logout, and data storage
- Functional Components (and lots of em)
- Vite for bundling and faster development experience
Although I cannot honestly say that the app is finished (I wanted to add the ability to track my meals), I am quite pleased with the outcome so far. I believe I have met the requirements, especially since our class is primarly front-end focused. The areas I have yet to complete are mostly back-end related and ended up being trickier than expected due to my unusual choice of backend - Pocketbase.
Unfortuantely, the service is not super well-documented and will take a bit more time to fully understand, so I can complete the last few components of my application.
Next Steps
- pull workouts from database
- get workout info
Sprint 2
- Visualize exercise progress
- Add BMI calculations & make sign up more personalized
- Make radial progress bars for overview page (see if workout, calories, and weight has been completed)
- Limit # of times you can add weight per day (to once)
- Deploy to Pockethost