# adrianvill20/aeye architecture

> Architecture diagram of the GitHub repository adrianvill20/aeye, 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/adrianvill20/aeye
- Repository: https://github.com/adrianvill20/aeye

## Overview

AEye is a Windows exam-proctoring application with student and proctor modes. Its documented workflow is: student login and a controlled exam window; per-exam calibration and dual-camera signal capture; comparison with a student-specific behavioral profile; temporal pattern analysis and confidence/severity scoring; then evidence-backed alerts relayed through a central server for human review. Completed exams refine the profile. The tree contains only README.md, so these components and relationships reflect documented capabilities, not inspected implementation or verified code-level wiring.

Main entry points: [`README.md`](https://github.com/adrianvill20/aeye/blob/main/README.md) (Signal reading)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_exam["Exam experience"]
  node_student_mode["Student mode<br/>[README.md]"]
  node_login["Student login<br/>[README.md]"]
  node_exam_window["Controlled exam window<br/>[README.md]"]
end

subgraph group_vision["Calibration and sensing"]
  node_calibration["Exam calibration<br/>[README.md]"]
  node_signal_reading["Signal reading<br/>[README.md]"]
end

subgraph group_analysis["Behavior analysis"]
  node_behavior_profile[("Student behavior profile<br/>[README.md]")]
  node_behavior_learning["Behavior learning<br/>[README.md]"]
  node_comparison["Personalized comparison<br/>[README.md]"]
  node_pattern_detection["Temporal pattern detection<br/>[README.md]"]
  node_scoring["Confidence and severity<br/>[README.md]"]
end

subgraph group_review["Alerts and review"]
  node_flagged_moment["Flagged moment evidence<br/>[README.md]"]
  node_server["Central server<br/>[README.md]"]
  node_proctor_mode["Proctor mode<br/>[README.md]"]
end

node_student(("Student"))
node_eclass["E-class exam page"]
node_front_camera["Front camera"]
node_side_camera["Side camera"]
node_mediapipe["MediaPipe"]
node_proctor(("Human proctor"))

node_student -->|"uses"| node_student_mode
node_student_mode -->|"authenticates"| node_login
node_student_mode -->|"opens"| node_exam_window
node_exam_window -->|"displays"| node_eclass
node_front_camera -->|"provides face feed"| node_signal_reading
node_side_camera -->|"provides posture feed"| node_signal_reading
node_mediapipe -->|"extracts face signals"| node_signal_reading
node_calibration -->|"supplies zones"| node_signal_reading
node_signal_reading -->|"provides current signals"| node_comparison
node_behavior_profile -->|"supplies baseline"| node_comparison
node_comparison -->|"provides behavior"| node_pattern_detection
node_pattern_detection -->|"provides patterns"| node_scoring
node_scoring -->|"scores and flags"| node_flagged_moment
node_flagged_moment -->|"sends evidence"| node_server
node_server -->|"relays alerts"| node_proctor_mode
node_proctor_mode -->|"presents alerts"| node_proctor
node_behavior_learning -->|"updates after exams"| node_behavior_profile

click node_student_mode "https://github.com/adrianvill20/aeye/blob/main/README.md"
click node_login "https://github.com/adrianvill20/aeye/blob/main/README.md"
click node_exam_window "https://github.com/adrianvill20/aeye/blob/main/README.md"
click node_calibration "https://github.com/adrianvill20/aeye/blob/main/README.md"
click node_signal_reading "https://github.com/adrianvill20/aeye/blob/main/README.md"
click node_behavior_profile "https://github.com/adrianvill20/aeye/blob/main/README.md"
click node_behavior_learning "https://github.com/adrianvill20/aeye/blob/main/README.md"
click node_comparison "https://github.com/adrianvill20/aeye/blob/main/README.md"
click node_pattern_detection "https://github.com/adrianvill20/aeye/blob/main/README.md"
click node_scoring "https://github.com/adrianvill20/aeye/blob/main/README.md"
click node_flagged_moment "https://github.com/adrianvill20/aeye/blob/main/README.md"
click node_server "https://github.com/adrianvill20/aeye/blob/main/README.md"
click node_proctor_mode "https://github.com/adrianvill20/aeye/blob/main/README.md"

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_student_mode,node_login,node_exam_window toneBlue
class node_calibration,node_signal_reading toneAmber
class node_behavior_profile,node_behavior_learning,node_comparison,node_pattern_detection,node_scoring,node_mediapipe toneMint
class node_flagged_moment,node_server,node_proctor_mode toneRose
class node_student,node_eclass,node_front_camera,node_side_camera,node_proctor toneIndigo
```

## Components

### Exam experience

- [Student mode](https://github.com/adrianvill20/aeye/blob/main/README.md): `README.md`
- [Student login](https://github.com/adrianvill20/aeye/blob/main/README.md): `README.md`
- [Controlled exam window](https://github.com/adrianvill20/aeye/blob/main/README.md): `README.md`

### Calibration and sensing

- [Exam calibration](https://github.com/adrianvill20/aeye/blob/main/README.md): `README.md`
- [Signal reading](https://github.com/adrianvill20/aeye/blob/main/README.md): `README.md`

### Behavior analysis

- [Student behavior profile](https://github.com/adrianvill20/aeye/blob/main/README.md): `README.md`
- [Behavior learning](https://github.com/adrianvill20/aeye/blob/main/README.md): `README.md`
- [Personalized comparison](https://github.com/adrianvill20/aeye/blob/main/README.md): `README.md`
- [Temporal pattern detection](https://github.com/adrianvill20/aeye/blob/main/README.md): `README.md`
- [Confidence and severity](https://github.com/adrianvill20/aeye/blob/main/README.md): `README.md`

### Alerts and review

- [Flagged moment evidence](https://github.com/adrianvill20/aeye/blob/main/README.md): `README.md`
- [Central server](https://github.com/adrianvill20/aeye/blob/main/README.md): `README.md`
- [Proctor mode](https://github.com/adrianvill20/aeye/blob/main/README.md): `README.md`

### Other components

- **Student**
- **E-class exam page**
- **Front camera**
- **Side camera**
- **MediaPipe**
- **Human proctor**

## Connections

- Student → Student mode: uses
- Student mode → Student login: authenticates
- Student mode → Controlled exam window: opens
- Controlled exam window → E-class exam page: displays
- Front camera → Signal reading: provides face feed
- Side camera → Signal reading: provides posture feed
- MediaPipe → Signal reading: extracts face signals
- Exam calibration → Signal reading: supplies zones
- Signal reading → Personalized comparison: provides current signals
- Student behavior profile → Personalized comparison: supplies baseline
- Personalized comparison → Temporal pattern detection: provides behavior
- Temporal pattern detection → Confidence and severity: provides patterns
- Confidence and severity → Flagged moment evidence: scores and flags
- Flagged moment evidence → Central server: sends evidence
- Central server → Proctor mode: relays alerts
- Proctor mode → Human proctor: presents alerts
- Behavior learning → Student behavior profile: updates after exams
