Skip to content

Fitness training scheduling tool. Intended not only for personal trainers and their clients but also for the ones who want to build their own plans and track progress individually.

Notifications You must be signed in to change notification settings

jprymak/gym-app

Repository files navigation

Gym-app

Fitness training scheduling tool

Are you bored of those inflexible Excel sheets when preparing a training schedule for your client? Worry no more, because you have the Gym-app. It is intended not only for personal trainers and their clients but also for the ones who want to build their own plans and track progress individually.

What gym-app has to offer

Gym-app allows users (trainers) to create a base of clients and a base of exercises. Out of the prepared exercise base, the user can create a schedule and assign it to a specific client.

Within the schedule planning view user has many options. Days can be swapped, it is possible to drag and drop individual exercises within a day, delete, copy items, etc. which really gives you a sense of freedom. The training schedule can be saved in a database and exported as a .xlsx file.

Exercises can be created individually by using a form, where users can input exercise names, related muscle groups, and even a link to a demo. Gym-app also offers a faster way of adding exercises to the base - by importing a .xlsx file. Setting up an Excel sheet should be relatively quick and then hundreds of exercises and exercise variants can be imported with just one click.

Built With

Getting Started

To get a local copy up and running, please follow these simple steps.

Prerequisites

Here is what you need to be able to run Gym-app.

  • Node.js (Version: >=18.17)
  • MongoDB
  • Yarn (recommended)

Development

Setup

  1. Clone the repo into a public GitHub repository.

    git clone https://github.com/jprymak/gym-app
  2. Go to the project folder

    cd gym-app
  3. Install packages with yarn

    yarn
  4. Set up your .env file

    • Duplicate .env.example to .env
    • Use openssl rand -base64 32 to generate a key and add it under NEXTAUTH_SECRET in the .env file.
  5. Setup Node If your Node version does not meet the project's requirements as instructed by the docs, "nvm" (Node Version Manager) allows using Node at the version required by the project:

    nvm use

    You first might need to install the specific version and then use it:

    nvm install && nvm use

    You can install nvm from here.

Manual setup

  1. Configure environment variables in the .env file. Replace <user>, <pass>, <db-host> with their applicable values

    DATABASE_URL='mongodb+srv://<user>:<pass>@<db-host>'
    

Setting up your first user

  1. Open Prisma Studio to look at or modify the database content:

    yarn db-studio
  2. Click on the User model to add a new user record.

  3. Fill out the fields email, name, password, role, (remembering to encrypt your password with BCrypt) and click Save 1 change to create your first user.

  4. Open a browser to http://localhost:3000 and login with your just created, first user.

Running tests

Run tests in watch mode:

 yarn test:watch

Acknowledgements

Special thanks to projects which made gym-app possible:

About

Fitness training scheduling tool. Intended not only for personal trainers and their clients but also for the ones who want to build their own plans and track progress individually.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published