jym
A workout tracking companion to create workouts, save progress, and view improvement in lifts over time.
Jym is your gym buddy who tracks workouts, sets/reps, and maintains detailed analytics for your progress over time across exercises.
This is a Next.js project bootstrapped with create-next-app.
Getting Started
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Inter, a custom Google Font.
Learn More
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
Deploy on Docker
Notes
- See Prisma Client generation note here: https://www.prisma.io/docs/orm/more/help-and-troubleshooting/help-articles/vercel-caching-issue
Deploy Postgres Container
This app requires a Postgres container image to connect to.
- Pull the latest official Postgres Docker Image:
docker pull postgres
- Start a new postgres instance:
docker run --name jym-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres
Deploy the App
See https://nextjs.org/docs/app/building-your-application/deploying#docker-image.
Additional Config
- To specify a port, edit the
Dockerfileto the port of your choice.
Upgrading Packages
Use npm-check-updates to handle upgrading your packages and associated dependencies. This tool can be installed globally:
npm install -g npm-check-updates
See Upgradable Packages
You can view packages that are due for upgrade, without modifying your package.json:
ncu
It's recommended to take a look at release notes to validate the upgrades you're making, especially for major/minor version changes. Below are some of pertinent release notes for this app:
Next.js
React
Prisma
Auth.js
Other
To modify your package.json with the pertinent upgrades:
ncu -u
After your package.json has been updated, you'll need to run npm install to upgrade your actual packages. Once complete, validate all functionality to ensure no breaking changes.