Skip to content

vismithaN/gym-tracker-app

Repository files navigation

🏋️ Gym Tracker App

A personal mobile app to track gym visits, exercises, and workout notes.

Web application

https://liftsync-tracker.vercel.app/login

Tech Stack

  • Frontend: React Native + Expo (TypeScript)
  • Backend/Database: MongoDB
  • State Management: Zustand or React Context

Getting Started

Prerequisites

  • Node.js 18+ installed
  • npm or yarn
  • Expo Go app on your phone (for testing)

Installation

# Install Expo CLI globally
npm install -g expo-cli

# Create the Expo app
npx create-expo-app@latest . --template expo-template-blank-typescript

# Install dependencies
npm install

Running the App

# Start development server
npx expo start

Scan the QR code with Expo Go (Android) or Camera app (iOS).

Data Model (MongoDB)

Workouts Collection

{
  _id: ObjectId,
  userId: string,
  date: Date,
  duration: number, // minutes
  notes: string,
  exercises: [
    {
      name: string,
      sets: [
        { reps: number, weight: number, unit: "kg" | "lbs" }
      ],
      notes: string
    }
  ],
  createdAt: Date,
  updatedAt: Date
}

Exercises Collection (Reference)

{
  _id: ObjectId,
  name: string,
  category: "chest" | "back" | "legs" | "shoulders" | "arms" | "core" | "cardio",
  muscleGroups: string[],
  description: string
}

Project Structure

gym-tracker-app/
├── app/                    # App screens (Expo Router)
│   ├── (tabs)/            # Tab navigation
│   │   ├── index.tsx      # Home/Dashboard
│   │   ├── workouts.tsx   # Workout history
│   │   └── profile.tsx    # User settings
│   ├── workout/
│   │   ├── new.tsx        # Log new workout
│   │   └── [id].tsx       # View/Edit workout
│   └── _layout.tsx        # Root layout
├── components/            # Reusable components
├── hooks/                 # Custom hooks
├── services/              # API/MongoDB services
├── types/                 # TypeScript types
├── utils/                 # Helper functions
└── constants/             # App constants

Features to Build

  • User authentication
  • Log daily workouts
  • Track exercises with sets/reps/weight
  • Add notes to workouts
  • View workout history
  • Exercise library
  • Progress charts/statistics
  • Calendar view of gym days

License

Personal project - MIT License

About

Gym Tracker is a mobile-first fitness companion that helps you stay on top of your workout routine. Log your daily gym sessions, track exercises with detailed sets, reps, and weights, review your workout history, and watch your progress over time.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages