The application was developed on MacBook Air M1 with node v20.11.0.
If you have volta you can install this node version with:
volta install node
Install dependencies:
npm install
Server will run on http://localhost:5173/.
npm run dev
The Application is a fitness app for my person use. It is optimize for using Myo reps protocol, it's a workout protocol when timing between sets of given exercise is very precise and short. Application is also a playground for me to try out new technologies and ideas. And it not finished yet.
The app is based on architecture described in Angular enterprise architecture.
app
core - business logic used by multiply features
features - business features, contains components and specific business logic
layout - components used for application layout
pattern - components that modify the application but don't belong to a specific feature
ui - generic components
components/ui - shadcn/ui components
lib - utils
The session's store and domain are inside the feature folder as they are only used in the sessions feature.
For permanent storage I use IndexedDB as I don't need more, for now at least. The business logic is separated from the store. Influenced by Modularizing React Applications with Established UI Patterns article.
- React
- TypeScript
- Vite
- Vitest
- IndexedDB
- Zustand
- TailwindCSS
- Shadcn/ui
- Zod