How adhavan07/qc-assistance works
This is a wiring-diagram quality-control application: users upload engineering documents, receive standards-based findings, and inspect results in a dashboard and drawing viewer. The backend includes document and organization APIs, queued QC runs, image/document processing, deterministic rules, AI-assisted analysis, and report generation; the frontend also exposes standards and audit views. The README is empty, and several API and processing modules were not excerpted, so those capabilities are represented from the file tree and index without asserting unshown runtime links. The frontend-to-backend connection is therefore left unverified.
Main entry points: page.tsx Workspace navigation · qc_pipeline.py QC state pipeline · main.py API application · deps.py API dependencies
Components 34
User workspace
- Workspace navigation
frontend/src/app/page.tsx - QC dashboard
frontend/src/components/DashboardView.tsx - Document upload
frontend/src/components/UploadView.tsx - Finding inspector
frontend/src/components/SplitScreenViewer.tsx - Standards view
frontend/src/components/StandardsView.tsx - Audit log view
frontend/src/components/AuditLogView.tsx - Authentication UI
frontend/src/components/AuthModal.tsx - Session state
frontend/src/lib/auth-context.tsx - API client
frontend/src/lib/api.ts - Demo data
frontend/src/lib/mockData.ts
Backend API
- API application
backend/src/api/main.py - Document routes
backend/src/api/routers/documents.py - Authentication routes
backend/src/api/routers/auth.py - Organization routes
backend/src/api/routers/organizations.py - QC run routes
backend/src/api/routers/qc_runs.py - API dependencies
backend/src/api/deps.py - Auth dependencies
backend/src/api/deps_auth.py
QC processing
- Document processing
backend/src/services/document_processor.py - Image processing
backend/src/services/image_processor.py - QC state pipeline
backend/src/services/qc_pipeline.py - QC worker
backend/src/services/qc_worker.py - PDF report
backend/src/reports/pdf_generator.py
Analysis engine
- Drawing extractor
backend/src/ai/extractor.py - Engineering rules
backend/src/ai/rules.py - AI analysis service
backend/src/ai/service.py - Prompt governance
backend/src/ai/prompt_manager.py - LLM providers
backend/src/ai/llm_adapter.py - AI QC engine
backend/src/ai/engine.py - QC data schemas
backend/src/ai/schemas.py
Persistence and services
- Task queue
backend/src/infrastructure/queue.py - Relational database
backend/src/infrastructure/database.py - Domain records
backend/src/infrastructure/models.py - Document storage
backend/src/infrastructure/storage.py
Other components
- Engineer
Connections 41
- Engineer → Workspace navigation: uses
frontend/src/app/page.tsx - Workspace navigation → QC dashboard: shows
frontend/src/app/page.tsx - Workspace navigation → Document upload: shows
frontend/src/app/page.tsx - Workspace navigation → Finding inspector: shows
frontend/src/app/page.tsx - Workspace navigation → Standards view: shows
frontend/src/app/page.tsx - Workspace navigation → Audit log view: shows
frontend/src/app/page.tsx - Document upload → Workspace navigation: opens inspector
frontend/src/app/page.tsx - QC dashboard → Workspace navigation: opens inspector
frontend/src/app/page.tsx - Authentication UI → Session state: uses session
frontend/src/components/AuthModal.tsx - Session state → API client: calls
frontend/src/lib/auth-context.tsx - Session state → Demo data: loads defaults
frontend/src/lib/auth-context.tsx - Document upload → API client: calls
frontend/src/components/UploadView.tsx - QC dashboard → Demo data: reads
frontend/src/components/DashboardView.tsx - Finding inspector → Demo data: reads
frontend/src/components/SplitScreenViewer.tsx - API client → Demo data: uses fallback
frontend/src/lib/api.ts - API client → Document routes: submits requests
- API application → API dependencies: configures
backend/src/api/main.py - API application → Document routes: registers routes
- API application → Authentication routes: registers routes
- API application → Organization routes: registers routes
- API application → QC run routes: registers routes
- Authentication routes → Auth dependencies: uses
backend/src/api/routers/auth.py - Auth dependencies → API dependencies: uses
backend/src/api/deps_auth.py - API dependencies → Relational database: provides sessions
backend/src/api/deps.py - API dependencies → Task queue: provides queue
backend/src/api/deps.py - API dependencies → Document storage: provides storage
backend/src/api/deps.py - QC worker → Task queue: consumes jobs
backend/src/services/qc_worker.py - QC worker → QC state pipeline: runs
backend/src/services/qc_worker.py - QC state pipeline → Image processing: processes images
backend/src/services/qc_pipeline.py - QC state pipeline → Drawing extractor: extracts content
backend/src/services/qc_pipeline.py - QC state pipeline → Engineering rules: runs rules
backend/src/services/qc_pipeline.py - QC state pipeline → AI analysis service: requests analysis
backend/src/services/qc_pipeline.py - QC state pipeline → AI QC engine: uses
backend/src/services/qc_pipeline.py - QC state pipeline → Domain records: persists findings
backend/src/services/qc_pipeline.py - AI QC engine → Drawing extractor: extracts
backend/src/ai/engine.py - AI QC engine → Engineering rules: runs rules
backend/src/ai/engine.py - AI analysis service → LLM providers: uses provider
backend/src/ai/service.py - AI analysis service → Prompt governance: formats prompts
backend/src/ai/service.py - Prompt governance → QC data schemas: formats IDR
backend/src/ai/prompt_manager.py - LLM providers → QC data schemas: validates output
backend/src/ai/llm_adapter.py - PDF report → QC data schemas: renders findings
backend/src/reports/pdf_generator.py