Frontend-only React app for tracking child health data in Google Sheets. Each user authorizes Google and stores records in a spreadsheet created in their own Drive.
- Google authorization using Google Identity Services
- Per-user spreadsheet bootstrap in Google Drive
- Kid profile CRUD with birthday, latest height, latest weight, notes
- Temperature logs
- Medication logs (name, dose, unit, timestamp, notes)
- Growth logs (historical entries + profile latest sync)
- No backend/server required
- React + TypeScript + Vite
- shadcn UI components (added by CLI)
- React Router
- React Hook Form + Zod
- Install dependencies:
pnpm install- Copy env variables:
cp .env.example .env-
Set
VITE_GOOGLE_CLIENT_IDin.env. -
Start development server:
pnpm dev- Create a Google Cloud project.
- Enable APIs:
- Google Drive API
- Google Sheets API
- Configure OAuth consent screen.
- Create OAuth client credentials for a web app.
- Add authorized JavaScript origins:
http://localhost:5173- your production origin
- Use the generated client ID as
VITE_GOOGLE_CLIENT_ID.
pnpm dev- run local dev serverpnpm build- typecheck and buildpnpm lint- lint codepnpm typecheck- TypeScript check only
- Access token is browser-side and session-bound.
- Re-auth is required after token expiry.
- Data is written directly to Google APIs from the browser.
- If OAuth verification requirements become strict for production, consider moving API writes behind a Google Apps Script proxy while keeping UI and domain modules unchanged.
- Themes are used from https://tweakcn.com/editor/theme