Plus Ultra: Gym Workout Tracker and Equipment Scanner
A full stack fitness mobile application capstone project for our beneficiary a local gym business in Bataan. It was designed to help gym beginners, to track their workouts and use gym equipment effectively. This app provides an all-in-one solution for personalized workout planning, exercise guidance, and trainer-client management
Technologies Used
- React Native, Expo, TypeScript
- Node.js, Express, Prisma, Drizzle, SQLite, PostgreSQL
- JWT, Bcrypt
How The Scanning Works?
The user can upload a picture from camera or from gallery. By leveraging capabilities of SerpAPI to programmatically extract search results from Google Lens. This API allows for image-based searches, where an image URL is provided which I use cloudinary where I can store photos, and SerpApi returns structured data from Google Lens. Then on my solution, I filter thousands of results to match the best and perfect match for the image uploaded. To be honest, I could have integrated an AI for needs of this application but it is part of another story perhaps.
Features
- Workout Tracker: Track daily workouts and your progress and total of calories burned.
- Custom Workout Plan: Create your own customized tailored workout plan.
- Custom Exercises: Exercise not available in the database? You can create your own.
- Works Offline: Once you have signed up, you can use the app even in offline.
- Trainer and Member: Apply for available trainers at the gym directly from the app.
- Trainers can assign and manage personalized workout plans for their specific clients.
- Equipment Scanner: This lists equipment name and exercises based on fitness level.
Learnings
During the development of this project, this is where I learned most. Despite having no practical experience in mobile development, I was able to deliver this project despite the challenges I'm facing everyday. I was able to step out of my comfort zone by using "Research Driven Development" during my development workflow. I just can't imagine I was able transition from Laravel + jQuery to PERN (TypeScript) Stack, without even having a practical experience in Mobile Development.
Screenshots (Main Functionalities)
