Updated: 2026-04-30
- Frontend: React 19, React Router 7, TypeScript, Vite.
- Styling: Tailwind CSS, shared UI components in
src/components/ui. - API: Cloudflare Workers, Hono, TypeScript.
- Validation: Zod at API route boundaries.
- Database: Cloudflare D1 using SQLite-compatible SQL.
- Deployment: Cloudflare Pages for frontend assets and Wrangler for Workers.
- Root package (
package.json): frontend app, tests, and build pipeline. - Workers package (
workers/package.json): API Worker, D1 migrations, Worker typecheck/deploy scripts. - Deployment bundle (
deploy/combined): legacy/combined Node API artifact retained for deployment reference.
- Frontend dev:
npm run dev - Frontend typecheck:
npm run typecheck - Frontend tests:
npm run test - Frontend full check:
npm run check - Worker dev:
cd workers; npm run dev - Worker typecheck:
cd workers; npm run typecheck - Local D1 migrations:
cd workers; npm run migrate:local - Remote D1 migrations:
cd workers; npm run migrate:remote
- App shell and routing:
src/app,src/layouts. - UI screens:
src/pages/admin,src/pages/customer,src/pages/participant,src/pages/public. - Browser API clients:
src/services. - Shared frontend logic:
src/lib,src/types. - Worker entrypoint:
workers/src/index.ts. - API routes:
workers/src/routes. - Worker helpers:
workers/src/lib,workers/src/middleware. - Database migrations:
workers/migrations.
- Root package targets Node 20.x.
- Worker compatibility date is configured in
workers/wrangler.toml. - API package version is maintained in
workers/package.json.