Skip to content

A sleek, user-friendly workout tracking application built with Next.js, TypeScript, and Postgres. Log workouts, visualize progress, and stay motivated on your fitness journey.

License

Notifications You must be signed in to change notification settings

gmickel/ez-workout

Repository files navigation

EZ Workout Tracker

EZ Workout Tracker is a sleek, user-friendly (read: quick and dirty) application that I designed to help me track my workouts, visualize progress, and stay motivated on my fitness journey.

Features

  • Workout Logging: Easily log your workouts with customizable exercises, sets, reps, and weights.
  • Progress Tracking: Visualize your progress with interactive charts showing total weight lifted, sets completed, and reps performed over time.
  • Progressive Overload: Monitor your progress and automatically adjust your workouts accordingly.
  • Workout History: Review your past workouts with a detailed history view and an interactive calendar.
  • Dark Mode: Toggle between light and dark modes for comfortable viewing in any environment.
  • Responsive Design: Enjoy a seamless experience on both desktop and mobile devices.

Screenshots

Workout Logging

Workout Logging Screenshot

Workout History

Workout History Screenshot

Technologies Used

  • Next.js 14 (App Router)
  • TypeScript
  • Tailwind CSS
  • Shadcn UI
  • Recharts
  • Drizzle ORM
  • Postgres

Getting Started

Prerequisites

  • Node.js (v20 or later)
  • bun
  • PostgreSQL database

Workout configuration

Change the seed data in apps/web/src/db/seed.ts to match your workouts.

Installation

  1. Clone the repository:

    git clone https://github.com/gmickel/ez-workout.git
    
  2. Navigate to the project directory:

    cd ez-workout
    
  3. Install dependencies:

    bun install
    
  4. Set up your environment variables: Copy the .env.template file to .env and fill in the values.

  5. Start the development server:

    bun run dev
    
  6. Open http://localhost:4000 in your browser to see the application.

Deployment

This project is set up for easy deployment on Vercel. Simply connect your GitHub repository to Vercel and deploy the web workspace (apps/web).

Make sure to add your POSTRES_URL, INITIAL_USERNAME, INITIAL_PASSWORD, and JWT_SECRET to your Vercel project's environment variables.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License.

About

A sleek, user-friendly workout tracking application built with Next.js, TypeScript, and Postgres. Log workouts, visualize progress, and stay motivated on your fitness journey.

Topics

Resources

License

Stars

Watchers

Forks