Skip to content

This is the frontend repository for GymTrack. It is written using React.js, TypeScript, and Redux Toolkit. Originally used React Bootstrap and SASS+BEM for styling but now uses Mantine.

Notifications You must be signed in to change notification settings

giavinh79/GymTrack

Repository files navigation

GymTrack

CI

Simple & for fun React.js, TypeScript, and Redux application for tracking and managing a user's fitness journey. This frontend application deploys automatically on merges to master via Netlify: https://gymtrack.netlify.app

The backend was made in Node.js (Express.js) but has been deprecated for a Spring Boot version here: https://github.com/giavinh79/GymTrackApiV2

image

Running

  1. Install dependencies
$ npm install
  1. Run the application
$ npm start

Building

Run npm run build and use the newly created 'build' folder for deployment.

Development

Install:

  • Prettier
  • ESLint
  • Enable "format on save"

Terminologies

Routine: Series of workouts you do on a weekly basis (i.e. push-pull-legs)

Workout: A set of exercises for a particular day (i.e. Leg day with squats, leg press, and leg curls)

Exercise: An individual type of exercise (i.e. bench-press, chin-ups, push-ups, bicep curl... etc.)

Set: A series of repetitions performed sequentially (i.e. when doing push-ups, a set could represent 50 reps which means you did 50 pushups in one go)

Tech Stack & Features

TODO

  • Complete routine start and update features
  • Internationalize all text
  • Add component tests w/ React Testing Library
  • Address all @TODOs in code
  • Re-consider a global modal approach with functions instead (and tradeoffs associated with this) - maybe just use Mantine's Modal Provider
  • Lazy load Sentry
  • Migrate to dnd-kit ?
  • Increase performance on load (reduce initial bundle size load with code splitting w/ Vite.js dynamic imports, Partytown, replacing Font Awesome at some point...etc.
  • Storybook v7
  • Get rid of Lodash and replace with native functions or create util functions
  • TS lint on CI/CD

About

This is the frontend repository for GymTrack. It is written using React.js, TypeScript, and Redux Toolkit. Originally used React Bootstrap and SASS+BEM for styling but now uses Mantine.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published