# mandip-bhingaradiya/rto-exam-test architecture

> Architecture diagram of the GitHub repository mandip-bhingaradiya/rto-exam-test, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mandip-bhingaradiya/rto-exam-test
- Repository: https://github.com/mandip-bhingaradiya/rto-exam-test
- Video tour (about a minute): https://gitdiagram.com/mandip-bhingaradiya/rto-exam-test/video

## Overview

This C++ console application guides an authorized user through account creation or login, applicant details and eligibility checks, a 15-question learning-licence quiz, and licence-copy generation for passing applicants. The sampled source shows the menu, account routines, applicant and quiz classes, and licence output; omitted portions prevent confirming some invocation details, so the graph keeps uncertain transitions dashed.

Main entry points: [`RTOEXAM.cpp`](https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp) (Main menu), [`johnLC.txt`](https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/johnLC.txt) (Licence copy)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Account access"]
  node_menu["Main menu<br/>[RTOEXAM.cpp]"]
  node_account["Account creation<br/>[RTOEXAM.cpp]"]
  node_login["Sign in<br/>[RTOEXAM.cpp]"]
  node_rules["Exam rules<br/>[RTOEXAM.cpp]"]
end

subgraph group_application["Applicant intake"]
  node_details["Applicant details<br/>[RTOEXAM.cpp]"]
  node_birthdate["Birthdate check<br/>[RTOEXAM.cpp]"]
end

subgraph group_assessment["Exam assessment"]
  node_quiz["Quiz questions<br/>[RTOEXAM.cpp]"]
  node_score["Pass scoring<br/>[RTOEXAM.cpp]"]
end

subgraph group_licensing["Licence output"]
  node_licence["Licence generation<br/>[RTOEXAM.cpp]"]
  node_licencefile["Licence copy<br/>[johnLC.txt]"]
end

node_user(("Authorized user"))
node_applicant(("Applicant"))

node_user -->|"uses"| node_menu
node_menu -.->|"offers"| node_account
node_menu -->|"offers"| node_login
node_menu -->|"offers"| node_rules
node_applicant -.->|"provides details"| node_details
node_details -.->|"checks age"| node_birthdate
node_login -.->|"admits applicant"| node_details
node_details -.->|"starts exam"| node_quiz
node_quiz -->|"counts answers"| node_score
node_score -.->|"qualifies at 11"| node_licence
node_licence -->|"writes copy"| node_licencefile

click node_menu "https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp"
click node_account "https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp"
click node_login "https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp"
click node_rules "https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp"
click node_details "https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp"
click node_birthdate "https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp"
click node_quiz "https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp"
click node_score "https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp"
click node_licence "https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp"
click node_licencefile "https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/johnLC.txt"

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_menu,node_account,node_login,node_rules,node_user toneBlue
class node_details,node_birthdate toneAmber
class node_quiz,node_score toneMint
class node_licence,node_licencefile toneRose
class node_applicant toneIndigo
```

## Components

### Account access

- [Main menu](https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp): `RTOEXAM.cpp`
- [Account creation](https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp): `RTOEXAM.cpp`
- [Sign in](https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp): `RTOEXAM.cpp`
- [Exam rules](https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp): `RTOEXAM.cpp`

### Applicant intake

- [Applicant details](https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp): `RTOEXAM.cpp`
- [Birthdate check](https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp): `RTOEXAM.cpp`

### Exam assessment

- [Quiz questions](https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp): `RTOEXAM.cpp`
- [Pass scoring](https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp): `RTOEXAM.cpp`

### Licence output

- [Licence generation](https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/RTOEXAM.cpp): `RTOEXAM.cpp`
- [Licence copy](https://github.com/mandip-bhingaradiya/rto-exam-test/blob/master/johnLC.txt): `johnLC.txt`

### Other components

- **Authorized user**
- **Applicant**

## Connections

- Authorized user → Main menu: uses (evidence: `README.md`)
- Main menu → Account creation: offers (evidence: `RTOEXAM.cpp`)
- Main menu → Sign in: offers (evidence: `RTOEXAM.cpp`)
- Main menu → Exam rules: offers (evidence: `RTOEXAM.cpp`)
- Applicant → Applicant details: provides details
- Applicant details → Birthdate check: checks age (evidence: `RTOEXAM.cpp`)
- Sign in → Applicant details: admits applicant (evidence: `RTOEXAM.cpp`)
- Applicant details → Quiz questions: starts exam (evidence: `RTOEXAM.cpp`)
- Quiz questions → Pass scoring: counts answers (evidence: `RTOEXAM.cpp`)
- Pass scoring → Licence generation: qualifies at 11 (evidence: `RTOEXAM.cpp`)
- Licence generation → Licence copy: writes copy (evidence: `RTOEXAM.cpp`)
