This repo now uses a browser-first React + Vite + Tailwind setup so Figma-generated web code can be dropped in without going through React Native or Expo compatibility layers.
- React 19
- Vite
- Tailwind CSS
- React Router
- Supabase Web SDK
npm install
npm run dev
npm run build
npm run lintThe repo includes a data-only Supabase harness for realistic sample users, profiles, devices, readings, symptoms, exports, and RLS checks.
Local commands:
npm run db:sample:load:local
npm run db:sample:verify:local
npm run db:sample:cleanup:localHosted commands:
npm run db:sample:load:hosted
npm run db:sample:verify:hosted
npm run db:sample:cleanup:hostedFor one-shot runs, use npm run db:sample:cycle:local or npm run db:sample:cycle:hosted.
The repo also includes a repeatable hosted-only loader for the real demo account alex@example.com. It normalizes the two existing profiles (alex, judy), provisions Comprehensive subscriptions plus all three device types, and generates 4 weeks of half-hourly biomarker data with mild abnormalities and menstrual-cycle context.
Hosted demo commands:
npm run db:demo:load:hosted
npm run db:demo:verify:hosted
npm run db:demo:cleanup:hostedFor a one-shot load plus verification run, use npm run db:demo:cycle:hosted.
See docs/demo-account-data.md for the exact dataset design, supplemental ranges, and cleanup rules.
Create .env with:
Database_Project_URL=your-project-url
Database_Public_Anon_Key=your-public-anon-keyOnly the public anon key belongs in the browser bundle. Do not expose Supabase service-role keys in client-side code.
For hosted sample-data scripts, keep admin-only values in .env.local:
Database_Service_Role_Key=your-service-role-keyThe sample-data harness never changes the schema. It only inserts and removes test data.
src/
components/
pages/
providers/
lib/
styles/
src/styles/index.css is the main Tailwind entry point and is intended to match the way Figma-exported web code expects global CSS to work.