How const-ahmed/unschema works
Unschema is a server-rendered profile-form app whose English-language rules are evaluated by Jev. Visitors complete the form; Turnstile verification and rate limiting guard live field checks and the final submission check. The final result is displayed and the form resets; submissions are not persisted. The graph follows the documented flow and indexed imports, but some server-function implementations and route wiring were not excerpted, so uncertain relationships are omitted.
Main entry points: ProfileForm.tsx Profile Form · verify-human.ts Verification Endpoints · validate-field.ts Live Check Endpoint · submit-profile.ts Submit Endpoint
Components 24
App and Form
- App Router
src/router.tsx - Route Tree
src/routeTree.gen.ts - Root Route
src/routes/__root.tsx - Profile Page
src/routes/index.tsx - Profile Form
src/components/ProfileForm.tsx - Field Feedback
src/components/FormField.tsx - Toast
src/components/Toast.tsx
Validation
- Profile Rules
src/validation/profile.ts - Live Check Tracker
src/validation/live-checks.ts - Validation Timing
src/validation/validation-logic.ts - Request Guards
src/validation/request.ts - Live Check Endpoint
src/validation/validate-field.ts - Submit Endpoint
src/validation/submit-profile.ts
Jev Evaluation
- English Rule Evaluation
src/server/rules.ts - Jev Client
src/server/jev.ts
Human Verification
- Human Session Client
src/components/human-session.ts - Verification Endpoints
src/validation/verify-human.ts - Human Check Rules
src/validation/human.ts - Session Security
src/server/human-session.ts - Rate Limiter
src/validation/verify-human.ts
Other components
- Visitor
- Workers AI
- Cloudflare Turnstile
- Cloudflare Rate Limiter
Connections 31
- Visitor → Profile Page: opens
README.md - App Router → Route Tree: uses
src/router.tsx - Route Tree → Profile Page: routes to
src/routeTree.gen.ts - Route Tree → Root Route: parents
src/routeTree.gen.ts - Profile Page → Profile Form: renders
src/routes/index.tsx - Profile Page → Verification Endpoints: loads site key
src/routes/index.tsx - Root Route → Human Session Client: uses
src/routes/__root.tsx - Profile Form → Profile Rules: reads field rules
src/components/ProfileForm.tsx - Profile Form → Live Check Tracker: tracks checks
src/components/ProfileForm.tsx - Profile Form → Validation Timing: uses timing
src/components/ProfileForm.tsx - Profile Form → Human Session Client: runs requests through
src/components/ProfileForm.tsx - Profile Form → Live Check Endpoint: requests live check
src/components/ProfileForm.tsx - Profile Form → Submit Endpoint: submits profile
src/components/ProfileForm.tsx - Profile Form → Verification Endpoints: verifies visitor
src/components/ProfileForm.tsx - Profile Form → Field Feedback: renders feedback
src/components/ProfileForm.tsx - Profile Form → Toast: renders notices
src/components/ProfileForm.tsx - Live Check Endpoint → Request Guards: validates request
src/validation/validate-field.ts - Live Check Endpoint → Verification Endpoints: requires human and limit
src/validation/validate-field.ts - Live Check Endpoint → English Rule Evaluation: checks field
src/validation/validate-field.ts - Submit Endpoint → Request Guards: validates submission
src/validation/submit-profile.ts - Submit Endpoint → Verification Endpoints: requires human and limit
src/validation/submit-profile.ts - Submit Endpoint → English Rule Evaluation: checks profile
src/validation/submit-profile.ts - English Rule Evaluation → Profile Rules: uses field rules
src/server/rules.ts - English Rule Evaluation → Jev Client: asks Jev
src/server/rules.ts - Jev Client → Workers AI: runs model
src/server/jev.ts - Verification Endpoints → Request Guards: validates token
src/validation/verify-human.ts - Verification Endpoints → Human Check Rules: uses verification rules
src/validation/verify-human.ts - Verification Endpoints → Session Security: verifies token and session
src/validation/verify-human.ts - Verification Endpoints → Cloudflare Turnstile: verifies token
- Verification Endpoints → Rate Limiter: limits requests
src/validation/verify-human.ts - Rate Limiter → Cloudflare Rate Limiter: checks quota
src/validation/verify-human.ts