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)

Apply For Trainer Client Trainer Templates Exercise List Rest Time Scanner Capture Scanner Page Scanner Results Start Workout Session Trainer Add Workout Plan Trainer Clients Accept Trainer Clients Trainer Workout Plans For Clients Workout History Workout New Template Workout New Template 2 Workout Page Workout Template Exercise Info Workout Template View