A web app interface for viewing data exports from Fitnotes, the best app ever.
Works on both desktop & mobile.
This project uses a devcontainer for consistent development environments.
- Clone this repository
- Copy the
.env.exampleto.envcp .env.example .env
- Fill out the
.envfile, using the comments in the file for guidance - Open the project in VS Code
- When prompted, click "Reopen in Container" or use the command palette (
Cmd/Ctrl + Shift + P) and select "Dev Containers: Reopen in Container" - The container will build and install all dependencies automatically
- Once the container is ready, you can start development
Once the devcontainer is running, you'll have access to:
npm run dev- Start the Vite development server (frontend only)npm run dev:vercel- Start the development server with Vercel (handles both frontend and API routes)npm run build- Build for productionnpm run preview- Preview the production buildnpm test- Run tests with Vitest
This project requires the following environment variables in your .env file:
BLOB_READ_WRITE_TOKEN- Your Vercel Blob Store read/write token for storing and retrieving the FitNotes database
- Vite - Fast build tool and dev server
- React - UI framework
- Vitest - Testing framework
- TypeScript - Type safety
- Tailwind CSS - Utility-first CSS framework (configured in devcontainer)
To run the test suite with Vitest:
npm test
Or, for watch mode:
npm test -- --watch
- Records don't show beyond 15RM for now
- The record-calculating algorithm is actually more accurate than Fitnotes' in the case of a weight tie
- For example, if you achieved 6RM 80kg on January 1st and 7RM 80kg on January 8th, Fitnotes would show January 8th for both. This app keeps them separate, since you achieved the 6RM before you achieved the 7RM.