How parasnavsar98/civicfix works
This repository combines CivicFix’s citizen-problem intake, AI classification and duplicate recommendations, human review, routing, version history, and audit trail with a separate university-matching and industry-collaboration backend. A React testing console exercises CivicFix’s end-to-end workflow and operational views. The matching engine ranks universities using seven explainable factors and supports assignment and marketplace flows. Links between the CivicFix API and its services are supported by the application wiring and service descriptions; some detailed service internals are unsampled, so uncertain calls are omitted.
Main entry points: orchestrator.py Intake orchestrator · reviewer_service.py Reviewer service · main.py Matching API · matching_engine.py Scoring engine
Components 33
CivicFix workflow
- CivicFix API
backend/app/main.py - Problem intake API
backend/app/api/problems.py - Intake orchestrator
backend/app/services/orchestrator.py - Classification client
backend/app/clients/classification_client.py - Duplicate client
backend/app/clients/duplicate_client.py - Problem repository
backend/app/repositories/problem_repository.py - Version repository
backend/app/repositories/version_repository.py - Duplicate repository
backend/app/repositories/duplicate_repository.py - Review repository
backend/app/repositories/review_repository.py - Audit service
backend/app/services/audit_service.py - Audit repository
backend/app/repositories/audit_repository.py - Reviewer API
backend/app/api/reviewer.py - Reviewer service
backend/app/services/reviewer_service.py - Routing API
backend/app/api/routing.py - Routing service
backend/app/services/routing_service.py
AI services
- Classification API
classification-engine/app/main.py - Classifier service
classification-engine/app/services/classifier.py - Duplicate API
duplicate-detection/app/main.py - Duplicate detector
duplicate-detection/app/services/duplicate_detector.py
University matching
- Matching API
UniversityMatchingAlgo/backend/app/main.py - Scoring engine
UniversityMatchingAlgo/backend/app/services/matching_engine.py - Seven scoring factors
UniversityMatchingAlgo/backend/app/services/scoring - Assignment workflow
UniversityMatchingAlgo/backend/app/services/assignment_workflow.py - Solution marketplace
UniversityMatchingAlgo/backend/app/services/marketplace.py - Collaboration service
UniversityMatchingAlgo/backend/app/services/collaboration.py - Matching database
UniversityMatchingAlgo/backend/app/config/database.py
Testing interfaces
- Testing console
testing-console/src/App.tsx - E2E walkthrough
testing-console/src/views/E2EPipelineView.tsx - Backend API client
testing-console/src/api/backend.ts - Matching demo UI
UniversityMatchingAlgo/frontend-test/app.js
Other components
- Problem submitter
- Human reviewer
- Government / research
Connections 36
- Problem submitter → Problem intake API: submits problem
- Problem intake API → Intake orchestrator: delegates intake
- Intake orchestrator → Classification client: requests classification
- Classification client → Classification API: posts classification
- Classification API → Classifier service: runs classifier
- Intake orchestrator → Duplicate client: requests candidates
- Duplicate client → Duplicate API: checks duplicates
- Duplicate API → Duplicate detector: runs detection
- Intake orchestrator → Problem repository: stores problem
- Intake orchestrator → Version repository: stores version
- Intake orchestrator → Duplicate repository: stores candidates
- Intake orchestrator → Audit service: logs events
- Audit service → Audit repository: persists events
- Human reviewer → Reviewer API: reviews cases
- Reviewer API → Reviewer service: delegates actions
- Reviewer service → Problem repository: loads and saves
- Reviewer service → Version repository: writes versions
- Reviewer service → Duplicate repository: updates candidates
- Reviewer service → Review repository: records decisions
- Reviewer service → Audit service: logs actions
- Human reviewer → Routing API: requests routing
- Routing API → Routing service: delegates routing
- Routing service → Problem repository: updates problem
- Routing service → Audit service: logs routing
- Government / research → Routing service: receives routed cases
- Matching API → Scoring engine: runs ranking
- Scoring engine → Seven scoring factors: scores factors
- Scoring engine → Matching database: reads universities and config
- Scoring engine → Matching database: stores ranked results
- Matching API → Assignment workflow: manages assignments
- Matching API → Solution marketplace: serves solutions
- Matching API → Collaboration service: manages collaborations
- Testing console → E2E walkthrough: renders walkthrough
- E2E walkthrough → Backend API client: requests workflow actions
- Backend API client → CivicFix API: calls backend
- Matching demo UI → Matching API: calls matching API