Workout companion PWA, offline first: all data is stored on the device.
The app interface language is swedish. All weights are presented in the metric system: kilograms (kg) and tons (1000 kg).
Install all dependencies using NPM, and start the Parcel bundler and development web server.
$> npm i
$> npm start
Site is now running at http://localhost:1234.
Starting the Jest test watcher is highly recommended.
$> npm test
Use npm run test-once
to run tests once, and npm run lint
to check formatting (using vanilla Prettier.io).
Contributions are most welcome! Feel free to create an issue describing your idea, or start a Pull Request here on Github.
Please make sure that the following requirements are met with your changes:
- Green tests.
- Code is formatted using Prettier.
Use npm run test-once
and npm run lint
to check the above
requirements.
Written with the following personal goals and challenges of technical nature in mind:
- Building something offline-first.
- Get to know the Parcel bundler.
- Get in line according to Prettier formatter.
- Continous progression in the 7-1 Sass guidelines.
- Keep discovering React together with Redux.
- Make LocalStorage and Redux-sagas work together for offline-first with server sync.
- Setup and implement React-stacked PWA testing using Jest (with snapshots) and Enzyme.
- Workout planner. Schedule and create a workout beforehand as a todo list.
Why?
To decrease the app screen time during workout. Fewer presses and typing between sets. - Rest timer. A timer function to rest between sets.
Why?
By adding a timer to the app, there is no need to switch app or split-screen between the phone clock app. - Personal record score. A list of PB's in for exercises, in reps and weights, and a timestamp.
Why?
To add some gamification, and to show strength progress over time.
- Workout planner. Schedule and create a workout beforehand as a todo list.
Why?
To decrease the app screen time during workout. Fewer presses and typing between sets. - Rest timer. A timer function to rest between sets.
Why?
By adding a timer to the app, there is no need to switch app or split-screen between the phone clock app. - Personal record score. A list of PB's in for exercises, in reps and weights, and a timestamp.
Why?
To add some gamification, and to show strength progress over time.