How vinay-kumar0080/docsheildai works
DocShield AI screens identity and travel documents for airport, airline, and immigration staff. The core workflow is capture or upload, per-document quality and AI inspection, cross-document consistency checks, explainable risk scoring, and review of stored results. The backend screening service is the documented orchestrator; the frontend also exposes history, analytics, reports, notifications, settings, and account workflows. The README describes several capabilities whose detailed wiring is not shown in the sampled source, so uncertain links are omitted.
Main entry points: screening_service.py Screening orchestrator · api.ts API client · main.py FastAPI application · models.py Screening database
Components 27
Operator experience
- Screening capture
frontend/app/screening/start/[domain]/page.tsx - Analysis results
frontend/app/screening/[id]/analysis/page.tsx - Screening result
frontend/app/screening/[id]/result/page.tsx - Screening history
frontend/app/history/page.tsx - Analytics dashboard
frontend/app/analytics/page.tsx - Reports view
frontend/app/reports/page.tsx - Notifications view
frontend/app/notifications/page.tsx - API client
frontend/lib/api.ts
API and workflows
- FastAPI application
backend/app/main.py - Screening routes
backend/app/api/routes/screenings.py - Analysis routes
backend/app/api/routes/analysis.py - Analytics routes
backend/app/api/routes/analytics.py - Report routes
backend/app/api/routes/reports.py - Notification routes
backend/app/api/routes/notifications.py - Screening orchestrator
backend/app/services/screening_service.py - Upload storage
backend/app/services/storage_service.py
Document inspection
- Image quality
backend/app/ai/quality/image_quality.py - OCR extraction
backend/app/ai/ocr/ocr_engine.py - Document classification
backend/app/ai/classification/document_classifier.py - MRZ verification
backend/app/ai/mrz/mrz_engine.py - Tampering forensics
backend/app/ai/tampering/tampering_engine.py - Face matching
backend/app/ai/face/face_engine.py
Assessment and output
- Consistency checks
backend/app/ai/consistency/consistency_engine.py - Explainable risk
backend/app/ai/risk/risk_engine.py - PDF report service
backend/app/services/report_service.py
Persistence
- Screening database
backend/app/db/models.py
Other components
- Security operator
Connections 34
- Security operator → Screening capture: submits documents
- Screening capture → API client: starts screening
- API client → Screening routes: sends request
- FastAPI application → Screening routes: registers router
- FastAPI application → Analysis routes: registers router
- FastAPI application → Analytics routes: registers router
- FastAPI application → Report routes: registers router
- FastAPI application → Notification routes: registers router
- Screening routes → Screening orchestrator: dispatches screening
- Screening orchestrator → Upload storage: stores uploads
- Screening orchestrator → Image quality: checks image quality
- Screening orchestrator → OCR extraction: extracts fields
- Screening orchestrator → Document classification: classifies document
- Screening orchestrator → MRZ verification: checks MRZ
- Screening orchestrator → Tampering forensics: analyzes tampering
- Screening orchestrator → Face matching: checks portrait
- Screening orchestrator → Consistency checks: checks consistency
- Screening orchestrator → Explainable risk: scores screening
- Screening orchestrator → Screening database: persists results
- Analysis results → API client: requests analysis
- Screening result → API client: loads result
- Screening history → API client: loads history
- Analytics dashboard → API client: requests metrics
- Reports view → API client: requests reports
- Notifications view → API client: loads alerts
- API client → Analysis routes: requests analysis
- API client → Analytics routes: requests metrics
- API client → Report routes: requests reports
- API client → Notification routes: requests alerts
- Report routes → PDF report service: generates PDF
- PDF report service → Screening database: reads screening data
- Analytics routes → Screening database: reads screening records
- Notification routes → Screening database: reads notifications
- Analysis routes → Screening database: loads analysis data