# smithlivingstonofficial/karerdee architecture

> Architecture diagram of the GitHub repository smithlivingstonofficial/karerdee, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/smithlivingstonofficial/karerdee
- Repository: https://github.com/smithlivingstonofficial/karerdee

## Overview

KARE-SES is an institutional secure-exam platform: candidates launch and sit exams in a Windows lockdown client, which authenticates and synchronizes with the Next.js service; educators manage exams and candidates and monitor sessions in the web portal. The README documents Supabase persistence/realtime and additional device-side capabilities, but their implementations are not present in the supplied tree. The graph includes those documented capabilities without treating their implementation or wiring as inspected; relationships not evidenced by excerpts or README are omitted.

Main entry points: [`client-windows/MainWindow.xaml.cs`](https://github.com/smithlivingstonofficial/karerdee/blob/main/client-windows/MainWindow.xaml.cs) (Windows Exam Client), [`client-windows/Services/ExamClientService.cs`](https://github.com/smithlivingstonofficial/karerdee/blob/main/client-windows/Services/ExamClientService.cs) (Exam HTTP Client), [`admin-web/src/app/admin/proctoring/components/LiveProctoringClientView.tsx`](https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/admin/proctoring/components/LiveProctoringClientView.tsx) (Live Proctoring), [`admin-web/src/app/api/telemetry/violation/route.ts`](https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/api/telemetry/violation/route.ts) (Telemetry and Violations)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_candidate["Candidate Client"]
  node_secure_client["Windows Exam Client<br/>[MainWindow.xaml.cs]"]
  node_client_service["Exam HTTP Client"]
  node_lockdown["Device Lockdown"]
  node_monitor_lock["Monitor Lockdown"]
  node_win32["Win32 Interop<br/>[Win32.cs]"]
  node_vm_check["VM Detection<br/>[VmDetector.cs]"]
  node_device_extensions["Face Tracking and Local Buffer<br/>[README.md]"]
end

subgraph group_exam_api["Exam Service"]
  node_exam_auth["Exam Authentication<br/>[route.ts]"]
  node_exam_ticket["Launch Tickets<br/>[route.ts]"]
  node_exam_session["Session and Status<br/>[route.ts]"]
  node_answer_sync["Answer Sync and Restore<br/>[route.ts]"]
  node_exam_submit["Exam Submission<br/>[route.ts]"]
  node_telemetry["Telemetry and Violations<br/>[route.ts]"]
  node_exam_chat["Candidate Chat<br/>[route.ts]"]
end

subgraph group_admin["Academic Administration"]
  node_students["Candidate Management"]
  node_departments["Department Management"]
  node_questions["Question Bank"]
  node_exam_admin["Exam Setup and Editing<br/>[page.tsx]"]
end

subgraph group_oversight["Proctoring and Results"]
  node_proctoring["Live Proctoring"]
  node_violations["Violation Review"]
  node_results["Exam Results<br/>[page.tsx]"]
end

subgraph group_platform["Platform Services"]
  node_supabase[("Supabase Cloud")]
  node_realtime["Realtime Broadcasts"]
end

node_candidate_actor(("Candidate"))
node_staff(("Academic Staff"))

node_candidate_actor -->|"launches"| node_secure_client
node_secure_client -->|"requests exam operations"| node_client_service
node_secure_client -->|"enables protections"| node_lockdown
node_secure_client -->|"checks displays"| node_monitor_lock
node_lockdown -->|"calls native hooks"| node_win32
node_monitor_lock -->|"calls display APIs"| node_win32
node_client_service -->|"posts authentication"| node_exam_auth
node_client_service -->|"posts answers"| node_answer_sync
node_client_service -->|"posts submission"| node_exam_submit
node_secure_client -->|"verifies launch ticket"| node_exam_ticket
node_secure_client -.->|"uses documented capabilities"| node_device_extensions
node_exam_auth -->|"uses cloud services"| node_supabase
node_answer_sync -->|"persists exam data"| node_supabase
node_telemetry -->|"stores snapshots"| node_supabase
node_proctoring -->|"receives live updates"| node_realtime
node_realtime -->|"broadcasts sessions"| node_supabase
node_staff -.->|"manages candidates"| node_students
node_staff -.->|"manages departments"| node_departments
node_staff -.->|"maintains questions"| node_questions
node_staff -.->|"configures exams"| node_exam_admin
node_staff -->|"monitors sessions"| node_proctoring
node_staff -.->|"reviews violations"| node_violations
node_staff -->|"evaluates results"| node_results
node_proctoring -->|"replies to candidates"| node_exam_chat
node_telemetry -.->|"provides violation data"| node_violations

click node_secure_client "https://github.com/smithlivingstonofficial/karerdee/blob/main/client-windows/MainWindow.xaml.cs"
click node_client_service "https://github.com/smithlivingstonofficial/karerdee/blob/main/client-windows/Services/ExamClientService.cs"
click node_lockdown "https://github.com/smithlivingstonofficial/karerdee/blob/main/client-windows/Security/KeyboardLockdown.cs"
click node_monitor_lock "https://github.com/smithlivingstonofficial/karerdee/blob/main/client-windows/Security/SecondaryMonitorLockdown.cs"
click node_win32 "https://github.com/smithlivingstonofficial/karerdee/blob/main/client-windows/Security/Win32.cs"
click node_vm_check "https://github.com/smithlivingstonofficial/karerdee/blob/main/client-windows/Security/VmDetector.cs"
click node_device_extensions "https://github.com/smithlivingstonofficial/karerdee/blob/main/README.md"
click node_exam_auth "https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/api/exam/auth/route.ts"
click node_exam_ticket "https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/api/exam/launch-ticket/verify/route.ts"
click node_exam_session "https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/api/exam/session/route.ts"
click node_answer_sync "https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/api/exam/sync/route.ts"
click node_exam_submit "https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/api/exam/submit/route.ts"
click node_telemetry "https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/api/telemetry/violation/route.ts"
click node_exam_chat "https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/api/exam/chat/route.ts"
click node_students "https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/admin/students/components/StudentClientView.tsx"
click node_departments "https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/admin/departments/components/DepartmentClientView.tsx"
click node_questions "https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/admin/questions/components/QuestionsClientView.tsx"
click node_exam_admin "https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/admin/exams/new/page.tsx"
click node_proctoring "https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/admin/proctoring/components/LiveProctoringClientView.tsx"
click node_violations "https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/admin/violations/components/ViolationsClientView.tsx"
click node_results "https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/admin/exams/%5Bid%5D/results/page.tsx"

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_secure_client,node_client_service,node_lockdown,node_monitor_lock,node_win32,node_vm_check,node_device_extensions toneBlue
class node_exam_auth,node_exam_ticket,node_exam_session,node_answer_sync,node_exam_submit,node_telemetry,node_exam_chat toneAmber
class node_students,node_departments,node_questions,node_exam_admin toneMint
class node_proctoring,node_violations,node_results toneRose
class node_supabase,node_realtime,node_candidate_actor,node_staff toneIndigo
```

## Components

### Candidate Client

- [Windows Exam Client](https://github.com/smithlivingstonofficial/karerdee/blob/main/client-windows/MainWindow.xaml.cs): `client-windows/MainWindow.xaml.cs`
- [Exam HTTP Client](https://github.com/smithlivingstonofficial/karerdee/blob/main/client-windows/Services/ExamClientService.cs): `client-windows/Services/ExamClientService.cs`
- [Device Lockdown](https://github.com/smithlivingstonofficial/karerdee/blob/main/client-windows/Security/KeyboardLockdown.cs): `client-windows/Security/KeyboardLockdown.cs`
- [Monitor Lockdown](https://github.com/smithlivingstonofficial/karerdee/blob/main/client-windows/Security/SecondaryMonitorLockdown.cs): `client-windows/Security/SecondaryMonitorLockdown.cs`
- [Win32 Interop](https://github.com/smithlivingstonofficial/karerdee/blob/main/client-windows/Security/Win32.cs): `client-windows/Security/Win32.cs`
- [VM Detection](https://github.com/smithlivingstonofficial/karerdee/blob/main/client-windows/Security/VmDetector.cs): `client-windows/Security/VmDetector.cs`
- [Face Tracking and Local Buffer](https://github.com/smithlivingstonofficial/karerdee/blob/main/README.md): `README.md`

### Exam Service

- [Exam Authentication](https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/api/exam/auth/route.ts): `admin-web/src/app/api/exam/auth/route.ts`
- [Launch Tickets](https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/api/exam/launch-ticket/verify/route.ts): `admin-web/src/app/api/exam/launch-ticket/verify/route.ts`
- [Session and Status](https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/api/exam/session/route.ts): `admin-web/src/app/api/exam/session/route.ts`
- [Answer Sync and Restore](https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/api/exam/sync/route.ts): `admin-web/src/app/api/exam/sync/route.ts`
- [Exam Submission](https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/api/exam/submit/route.ts): `admin-web/src/app/api/exam/submit/route.ts`
- [Telemetry and Violations](https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/api/telemetry/violation/route.ts): `admin-web/src/app/api/telemetry/violation/route.ts`
- [Candidate Chat](https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/api/exam/chat/route.ts): `admin-web/src/app/api/exam/chat/route.ts`

### Academic Administration

- [Candidate Management](https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/admin/students/components/StudentClientView.tsx): `admin-web/src/app/admin/students/components/StudentClientView.tsx`
- [Department Management](https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/admin/departments/components/DepartmentClientView.tsx): `admin-web/src/app/admin/departments/components/DepartmentClientView.tsx`
- [Question Bank](https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/admin/questions/components/QuestionsClientView.tsx): `admin-web/src/app/admin/questions/components/QuestionsClientView.tsx`
- [Exam Setup and Editing](https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/admin/exams/new/page.tsx): `admin-web/src/app/admin/exams/new/page.tsx`

### Proctoring and Results

- [Live Proctoring](https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/admin/proctoring/components/LiveProctoringClientView.tsx): `admin-web/src/app/admin/proctoring/components/LiveProctoringClientView.tsx`
- [Violation Review](https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/admin/violations/components/ViolationsClientView.tsx): `admin-web/src/app/admin/violations/components/ViolationsClientView.tsx`
- [Exam Results](https://github.com/smithlivingstonofficial/karerdee/blob/main/admin-web/src/app/admin/exams/%5Bid%5D/results/page.tsx): `admin-web/src/app/admin/exams/[id]/results/page.tsx`

### Platform Services

- **Supabase Cloud**
- **Realtime Broadcasts**

### Other components

- **Candidate**
- **Academic Staff**

## Connections

- Candidate → Windows Exam Client: launches (evidence: `README.md`)
- Windows Exam Client → Exam HTTP Client: requests exam operations (evidence: `client-windows/MainWindow.xaml.cs`)
- Windows Exam Client → Device Lockdown: enables protections (evidence: `client-windows/MainWindow.xaml.cs`)
- Windows Exam Client → Monitor Lockdown: checks displays (evidence: `client-windows/MainWindow.xaml.cs`)
- Device Lockdown → Win32 Interop: calls native hooks (evidence: `client-windows/Security/KeyboardLockdown.cs`)
- Monitor Lockdown → Win32 Interop: calls display APIs (evidence: `client-windows/Security/SecondaryMonitorLockdown.cs`)
- Exam HTTP Client → Exam Authentication: posts authentication (evidence: `client-windows/Services/ExamClientService.cs`)
- Exam HTTP Client → Answer Sync and Restore: posts answers (evidence: `client-windows/Services/ExamClientService.cs`)
- Exam HTTP Client → Exam Submission: posts submission (evidence: `client-windows/Services/ExamClientService.cs`)
- Windows Exam Client → Launch Tickets: verifies launch ticket (evidence: `README.md`)
- Windows Exam Client → Face Tracking and Local Buffer: uses documented capabilities (evidence: `README.md`)
- Exam Authentication → Supabase Cloud: uses cloud services (evidence: `README.md`)
- Answer Sync and Restore → Supabase Cloud: persists exam data (evidence: `README.md`)
- Telemetry and Violations → Supabase Cloud: stores snapshots (evidence: `README.md`)
- Live Proctoring → Realtime Broadcasts: receives live updates (evidence: `README.md`)
- Realtime Broadcasts → Supabase Cloud: broadcasts sessions (evidence: `README.md`)
- Academic Staff → Candidate Management: manages candidates
- Academic Staff → Department Management: manages departments
- Academic Staff → Question Bank: maintains questions
- Academic Staff → Exam Setup and Editing: configures exams
- Academic Staff → Live Proctoring: monitors sessions (evidence: `README.md`)
- Academic Staff → Violation Review: reviews violations
- Academic Staff → Exam Results: evaluates results (evidence: `README.md`)
- Live Proctoring → Candidate Chat: replies to candidates (evidence: `admin-web/src/app/admin/proctoring/components/LiveProctoringClientView.tsx`)
- Telemetry and Violations → Violation Review: provides violation data
