# nan2006-ditha/intelliview-orchestrator--main architecture

> Architecture diagram of the GitHub repository nan2006-ditha/intelliview-orchestrator--main, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/nan2006-ditha/intelliview-orchestrator--main
- Repository: https://github.com/nan2006-ditha/intelliview-orchestrator--main

## Overview

This tree and project metadata describe a distributed AI interview orchestration system: recruiters manage candidates and sessions, workers process interview media and evaluate answers, and results are available for review and monitoring. The sampled code supports session persistence and live dashboard updates, and documents audio/video analysis and risk scoring. The README instead describes a standalone risk-weight configuration API whose stated source files are absent from this tree, so that capability cannot be mapped reliably. Several runtime connections are therefore omitted where source was not sampled.

Main entry points: [`frontend/src/lib/api.js`](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/frontend/src/lib/api.js) (API client), [`workers/tasks.py`](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/workers/tasks.py) (Background tasks), [`orchestrator/session_manager.py`](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/orchestrator/session_manager.py) (Session lifecycle), [`frontend/src/app`](https://github.com/nan2006-ditha/intelliview-orchestrator--main/tree/Stabilized-version/frontend/src/app) (Web application)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Recruiter interface"]
  node_frontend["Web application"]
  node_api_client["API client<br/>[api.js]"]
  node_review_ui["Review and analytics<br/>[page.jsx]"]
  node_schedule_ui["Schedule interviews<br/>[page.jsx]"]
end

subgraph group_api["API and orchestration"]
  node_session_routes["Session routes<br/>[sessions.py]"]
  node_candidate_routes["Candidate routes<br/>[candidates.py]"]
  node_schedule_routes["Schedule routes<br/>[schedule.py]"]
  node_app_entry["Service entrypoint<br/>[main.py]"]
  node_session_manager["Session lifecycle<br/>[session_manager.py]"]
  node_scheduler["Interview scheduler<br/>[scheduler.py]"]
end

subgraph group_processing["Interview processing"]
  node_task_queue["Background tasks<br/>[tasks.py]"]
  node_video_pipeline["Video analysis<br/>[video_pipeline.py]"]
  node_audio_pipeline["Audio analysis<br/>[audio_pipeline.py]"]
  node_evaluation["Answer evaluation"]
  node_risk_engine["Risk scoring<br/>[risk_engine.py]"]
end

subgraph group_state["State and persistence"]
  node_database[("Relational database<br/>[db.py]")]
  node_session_models["Interview models"]
  node_state_sync["State synchronization<br/>[state_sync.py]"]
  node_redis[("Redis state<br/>[redis_client.py]")]
end

subgraph group_observability["Monitoring and recovery"]
  node_websocket["Live dashboard events"]
  node_dashboard["Monitoring dashboard<br/>[dashboard_api.py]"]
  node_fault_manager["Failure recovery<br/>[fault_manager.py]"]
  node_worker_registry["Worker registry<br/>[worker_registry.py]"]
end

node_recruiter(("Recruiter"))

node_recruiter -->|"uses"| node_frontend
node_frontend -->|"opens"| node_schedule_ui
node_frontend -->|"opens"| node_review_ui
node_schedule_ui -->|"requests"| node_api_client
node_review_ui -->|"requests"| node_api_client
node_api_client -->|"sends requests"| node_schedule_routes
node_api_client -->|"sends requests"| node_session_routes
node_api_client -->|"sends requests"| node_candidate_routes
node_app_entry -->|"uses"| node_session_manager
node_app_entry -->|"uses"| node_scheduler
node_session_manager -->|"reads and writes"| node_database
node_session_manager -->|"syncs state"| node_state_sync
node_state_sync -->|"reads and writes"| node_redis
node_session_manager -->|"broadcasts updates"| node_websocket
node_task_queue -->|"processes video"| node_video_pipeline
node_task_queue -->|"processes audio"| node_audio_pipeline
node_task_queue -->|"evaluates answers"| node_evaluation
node_task_queue -->|"scores risk"| node_risk_engine
node_dashboard -->|"serves live events"| node_websocket
node_fault_manager -->|"checks session state"| node_redis
node_worker_registry -->|"broadcasts worker status"| node_websocket

click node_frontend "https://github.com/nan2006-ditha/intelliview-orchestrator--main/tree/Stabilized-version/frontend/src/app"
click node_api_client "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/frontend/src/lib/api.js"
click node_review_ui "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/frontend/src/app/review/page.jsx"
click node_schedule_ui "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/frontend/src/app/schedule/page.jsx"
click node_session_routes "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/routers/sessions.py"
click node_candidate_routes "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/routers/candidates.py"
click node_schedule_routes "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/routers/schedule.py"
click node_app_entry "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/orchestrator/main.py"
click node_session_manager "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/orchestrator/session_manager.py"
click node_scheduler "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/orchestrator/scheduler.py"
click node_task_queue "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/workers/tasks.py"
click node_video_pipeline "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/workers/video_pipeline.py"
click node_audio_pipeline "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/workers/audio_pipeline.py"
click node_evaluation "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/workers/evaluation_pipeline.py"
click node_risk_engine "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/workers/risk_engine.py"
click node_database "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/database/db.py"
click node_session_models "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/database/models/interview_session.py"
click node_state_sync "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/orchestrator/state_sync.py"
click node_redis "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/orchestrator/redis_client.py"
click node_websocket "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/monitoring/websocket_manager.py"
click node_dashboard "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/monitoring/dashboard_api.py"
click node_fault_manager "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/orchestrator/fault_manager.py"
click node_worker_registry "https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/orchestrator/worker_registry.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_frontend,node_api_client,node_review_ui,node_schedule_ui toneBlue
class node_session_routes,node_candidate_routes,node_schedule_routes,node_app_entry,node_session_manager,node_scheduler toneAmber
class node_task_queue,node_video_pipeline,node_audio_pipeline,node_evaluation,node_risk_engine toneMint
class node_database,node_session_models,node_state_sync,node_redis toneRose
class node_websocket,node_dashboard,node_fault_manager,node_worker_registry,node_recruiter toneIndigo
```

## Components

### Recruiter interface

- [Web application](https://github.com/nan2006-ditha/intelliview-orchestrator--main/tree/Stabilized-version/frontend/src/app): `frontend/src/app`
- [API client](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/frontend/src/lib/api.js): `frontend/src/lib/api.js`
- [Review and analytics](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/frontend/src/app/review/page.jsx): `frontend/src/app/review/page.jsx`
- [Schedule interviews](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/frontend/src/app/schedule/page.jsx): `frontend/src/app/schedule/page.jsx`

### API and orchestration

- [Session routes](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/routers/sessions.py): `routers/sessions.py`
- [Candidate routes](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/routers/candidates.py): `routers/candidates.py`
- [Schedule routes](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/routers/schedule.py): `routers/schedule.py`
- [Service entrypoint](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/orchestrator/main.py): `orchestrator/main.py`
- [Session lifecycle](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/orchestrator/session_manager.py): `orchestrator/session_manager.py`
- [Interview scheduler](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/orchestrator/scheduler.py): `orchestrator/scheduler.py`

### Interview processing

- [Background tasks](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/workers/tasks.py): `workers/tasks.py`
- [Video analysis](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/workers/video_pipeline.py): `workers/video_pipeline.py`
- [Audio analysis](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/workers/audio_pipeline.py): `workers/audio_pipeline.py`
- [Answer evaluation](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/workers/evaluation_pipeline.py): `workers/evaluation_pipeline.py`
- [Risk scoring](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/workers/risk_engine.py): `workers/risk_engine.py`

### State and persistence

- [Relational database](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/database/db.py): `database/db.py`
- [Interview models](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/database/models/interview_session.py): `database/models/interview_session.py`
- [State synchronization](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/orchestrator/state_sync.py): `orchestrator/state_sync.py`
- [Redis state](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/orchestrator/redis_client.py): `orchestrator/redis_client.py`

### Monitoring and recovery

- [Live dashboard events](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/monitoring/websocket_manager.py): `monitoring/websocket_manager.py`
- [Monitoring dashboard](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/monitoring/dashboard_api.py): `monitoring/dashboard_api.py`
- [Failure recovery](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/orchestrator/fault_manager.py): `orchestrator/fault_manager.py`
- [Worker registry](https://github.com/nan2006-ditha/intelliview-orchestrator--main/blob/Stabilized-version/orchestrator/worker_registry.py): `orchestrator/worker_registry.py`

### Other components

- **Recruiter**

## Connections

- Recruiter → Web application: uses
- Web application → Schedule interviews: opens
- Web application → Review and analytics: opens
- Schedule interviews → API client: requests
- Review and analytics → API client: requests
- API client → Schedule routes: sends requests
- API client → Session routes: sends requests
- API client → Candidate routes: sends requests
- Service entrypoint → Session lifecycle: uses
- Service entrypoint → Interview scheduler: uses
- Session lifecycle → Relational database: reads and writes
- Session lifecycle → State synchronization: syncs state
- State synchronization → Redis state: reads and writes
- Session lifecycle → Live dashboard events: broadcasts updates
- Background tasks → Video analysis: processes video
- Background tasks → Audio analysis: processes audio
- Background tasks → Answer evaluation: evaluates answers
- Background tasks → Risk scoring: scores risk
- Monitoring dashboard → Live dashboard events: serves live events
- Failure recovery → Redis state: checks session state
- Worker registry → Live dashboard events: broadcasts worker status
