How stanleyyoga123/jev-screening works
Jev Screening Workspace supports a user-driven resume-review workflow: extract or paste resume text, prepare or generate editable criteria, submit both to screening, and inspect per-question outcomes and confidence. The graph includes the documented validation and prompt endpoints as well as the frontend’s result presentation. Edges reflect README statements or shown calls/import references; several internals are unsampled, so uncertain relationships are omitted.
Main entry points: App.tsx Workspace UI · api/router.py API router · criteria/router.py Criteria routes · service.py Criteria generation
Components 23
Review workspace
- Workspace UI
apps/web/src/App.tsx - API client
apps/web/src/api.ts - Result summary
apps/web/src/results.ts - Prompt helper
apps/web/src/QuestionPrompt.tsx
API routing
- FastAPI app
apps/api/api/application.py - API router
apps/api/api/router.py - Health endpoint
apps/api/domains/health/router.py
Criteria workflow
- Criteria routes
apps/api/domains/criteria/router.py - Criteria generation
apps/api/domains/criteria/service.py - Generation prompt
apps/api/domains/criteria/prompt.py - Criteria models
apps/api/domains/criteria/model.py - Criteria schemas
apps/api/domains/criteria/schema.py
Resume and screening
- PDF parse route
apps/api/domains/documents/router.py - PDF extraction
apps/api/domains/documents/service.py - PDF reader
apps/api/integrations/reader.py - Screening route
apps/api/domains/screening/router.py - Resume evaluation
apps/api/domains/screening/service.py - Screening schemas
apps/api/domains/screening/schema.py - Screening models
apps/api/domains/screening/model.py
External providers
- Question generator
apps/api/integrations/generator.py - Jev provider
apps/api/integrations/jev.py
Other components
- Reviewer
- OpenRouter
Connections 28
- Reviewer → Workspace UI: edits inputs
README.md - Workspace UI → API client: sends requests
apps/web/src/App.tsx - Workspace UI → Prompt helper: renders prompt
apps/web/src/App.tsx - Workspace UI → Result summary: summarizes results
apps/web/src/App.tsx - API client → FastAPI app: calls API
README.md - FastAPI app → API router: mounts routes
apps/api/api/application.py - API router → Criteria routes: dispatches
apps/api/api/router.py - API router → PDF parse route: dispatches
apps/api/api/router.py - API router → Screening route: dispatches
apps/api/api/router.py - API router → Health endpoint: dispatches
apps/api/api/router.py - Criteria routes → Criteria generation: invokes generation
apps/api/domains/criteria/router.py - Criteria routes → Generation prompt: returns prompt
apps/api/domains/criteria/router.py - Criteria generation → Generation prompt: uses prompt
apps/api/domains/criteria/service.py - Criteria generation → Criteria models: validates output
apps/api/domains/criteria/service.py - Criteria routes → Criteria schemas: accepts responses
apps/api/domains/criteria/router.py - Criteria generation → Question generator: requests generation
apps/api/domains/criteria/service.py - Question generator → OpenRouter: calls provider
- Workspace UI → PDF parse route: uploads PDF
README.md - PDF parse route → PDF extraction: parses content
apps/api/domains/documents/router.py - PDF extraction → PDF reader: extracts text
apps/api/domains/documents/service.py - Workspace UI → Criteria routes: generates criteria
README.md - Workspace UI → Screening route: submits resume/questions
apps/web/src/App.tsx - Screening route → Resume evaluation: invokes screening
apps/api/domains/screening/router.py - Resume evaluation → Jev provider: evaluates request
apps/api/domains/screening/service.py - Jev provider → OpenRouter: calls provider
README.md - Screening route → Screening schemas: uses schemas
apps/api/domains/screening/router.py - Resume evaluation → Screening schemas: accepts request
apps/api/domains/screening/service.py - Resume evaluation → Screening models: maps errors
apps/api/domains/screening/service.py