# zaid-shakhatreh/traficon-project architecture

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

- Interactive diagram: https://gitdiagram.com/zaid-shakhatreh/traficon-project
- Repository: https://github.com/zaid-shakhatreh/traficon-project

## Overview

DVLD is a Windows Forms application for managing people, users, driver licensing applications, tests, and issued licenses. A user signs in, reaches the main menu, and opens a management or licensing workflow; local-license applications can be reviewed, edited, and advanced to first-time license issuance. Other workflows cover international licenses, renewals, replacements, detention and release, and license history. The map follows the UI and form-to-form relationships visible in the excerpts or SOURCE INDEX; business logic and persistence are not included in the supplied tree, so their internal behavior is not inferred.

Main entry points: [`MainPageScreen.cs`](https://github.com/zaid-shakhatreh/traficon-project/blob/main/MainPageScreen.cs) (Main menu), [`Applications/International License/ListInternationalLicenseScreen.cs`](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/International%20License/ListInternationalLicenseScreen.cs) (International applications), [`Applications/Rlease Detained License/ListDetainedLicensesScreen.cs`](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Rlease%20Detained%20License/ListDetainedLicensesScreen.cs) (Detained licenses), [`Licenses/Local Licenses/LocalLicenseHistoryScreen.cs`](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Licenses/Local%20Licenses/LocalLicenseHistoryScreen.cs) (Local license history)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Access and navigation"]
  node_login["Sign in<br/>[LoginScreen.cs]"]
  node_menu["Main menu<br/>[MainPageScreen.cs]"]
end

subgraph group_people["People and users"]
  node_people_list["People directory<br/>[ListPeople.cs]"]
  node_person_edit["Person editor"]
  node_person_detail["Person details<br/>[ShowPersonInfo.cs]"]
  node_user_list["User directory<br/>[ListUsersScreen.cs]"]
  node_user_detail["User details"]
  node_driver_list["Driver directory"]
end

subgraph group_applications["Applications"]
  node_local_app_list["Local applications"]
  node_local_app_edit["Local application editor"]
  node_local_app_start["Start local application"]
  node_international_apply["International application"]
  node_international_list["International applications"]
end

subgraph group_licenses["License operations"]
  node_issue_first["First license issuance"]
  node_license_info["License details"]
  node_license_history["License history"]
  node_local_history["Local license history"]
  node_renew["Renew license"]
  node_replace["Replace license"]
  node_detain["Detain license"]
  node_detained_list["Detained licenses"]
  node_release["Release detained license"]
end

subgraph group_configuration["Reference settings"]
  node_app_types["Application types"]
  node_test_types["Test types"]
end

node_operator(("Operator"))

node_operator -->|"provides credentials"| node_login
node_login -->|"opens after sign-in"| node_menu
node_menu -->|"opens"| node_people_list
node_menu -->|"opens"| node_driver_list
node_menu -->|"opens"| node_user_list
node_menu -->|"opens"| node_local_app_start
node_menu -->|"opens"| node_local_app_list
node_menu -->|"opens"| node_international_apply
node_menu -->|"opens"| node_international_list
node_menu -->|"opens"| node_renew
node_menu -->|"opens"| node_replace
node_menu -->|"opens"| node_detained_list
node_menu -->|"opens"| node_app_types
node_menu -->|"opens"| node_test_types
node_people_list -->|"opens"| node_person_edit
node_people_list -->|"opens"| node_person_detail
node_user_list -->|"opens"| node_user_detail
node_local_app_list -->|"opens"| node_local_app_edit
node_local_app_list -->|"opens"| node_issue_first
node_international_list -->|"opens"| node_international_apply
node_international_list -->|"opens"| node_person_detail
node_international_list -->|"opens"| node_license_history
node_detained_list -->|"opens"| node_release
node_detained_list -->|"opens"| node_license_info
node_detained_list -->|"opens"| node_detain
node_detain -->|"opens"| node_local_history
node_license_history -->|"opens"| node_local_history
node_renew -->|"opens"| node_local_history
node_replace -->|"opens"| node_local_history
node_release -->|"opens"| node_license_history
node_release -->|"opens"| node_license_info

click node_login "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Login/LoginScreen.cs"
click node_menu "https://github.com/zaid-shakhatreh/traficon-project/blob/main/MainPageScreen.cs"
click node_people_list "https://github.com/zaid-shakhatreh/traficon-project/blob/main/People/ListPeople.cs"
click node_person_edit "https://github.com/zaid-shakhatreh/traficon-project/blob/main/People/AddEditPersonInfo.cs"
click node_person_detail "https://github.com/zaid-shakhatreh/traficon-project/blob/main/People/ShowPersonInfo.cs"
click node_user_list "https://github.com/zaid-shakhatreh/traficon-project/blob/main/User/ListUsersScreen.cs"
click node_user_detail "https://github.com/zaid-shakhatreh/traficon-project/blob/main/User/ShowUserDetailsScreen.cs"
click node_driver_list "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Drivers/ListDriversScreen.cs"
click node_local_app_list "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Local%20Driving%20License/ListLocalDrivingLicesnseApplicationsScreen.cs"
click node_local_app_edit "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Local%20Driving%20License/AddEditLocalDrivingLicense.cs"
click node_local_app_start "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Local%20Driving%20License/PersonalInfoForLocalDriverScreen.cs"
click node_international_apply "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/International%20License/AddNewInternationalLicenseApplicationScreen.cs"
click node_international_list "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/International%20License/ListInternationalLicenseScreen.cs"
click node_app_types "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Manage%20Application%20Type/ListApplicationTypeScreen.cs"
click node_test_types "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Manage%20Test%20Type/ListTestTypeScreen.cs"
click node_issue_first "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Licenses/Local%20Licenses/IssueDriverLicenseFirstTimeScreen.cs"
click node_license_info "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Licenses/Local%20Licenses/ShowLicenseInfoScreen.cs"
click node_license_history "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Licenses/Local%20Licenses/LicenseHistoryScreen.cs"
click node_local_history "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Licenses/Local%20Licenses/LocalLicenseHistoryScreen.cs"
click node_renew "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Renew%20License/RenewLicenseScreen.cs"
click node_replace "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Replace%20Lost%20Or%20Damaged%20License/ReplaceLostOrDamagedLicenseApplicationScreen.cs"
click node_detain "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Licenses/Detain%20License/DetainLicenseApplicationScreen.cs"
click node_detained_list "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Rlease%20Detained%20License/ListDetainedLicensesScreen.cs"
click node_release "https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Rlease%20Detained%20License/ReleaseDetainedLicenseApplicationScreen.cs"

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_login,node_menu toneBlue
class node_people_list,node_person_edit,node_person_detail,node_user_list,node_user_detail,node_driver_list toneAmber
class node_local_app_list,node_local_app_edit,node_local_app_start,node_international_apply,node_international_list toneMint
class node_issue_first,node_license_info,node_license_history,node_local_history,node_renew,node_replace,node_detain,node_detained_list,node_release toneRose
class node_app_types,node_test_types,node_operator toneIndigo
```

## Components

### Access and navigation

- [Sign in](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Login/LoginScreen.cs): `Login/LoginScreen.cs`
- [Main menu](https://github.com/zaid-shakhatreh/traficon-project/blob/main/MainPageScreen.cs): `MainPageScreen.cs`

### People and users

- [People directory](https://github.com/zaid-shakhatreh/traficon-project/blob/main/People/ListPeople.cs): `People/ListPeople.cs`
- [Person editor](https://github.com/zaid-shakhatreh/traficon-project/blob/main/People/AddEditPersonInfo.cs): `People/AddEditPersonInfo.cs`
- [Person details](https://github.com/zaid-shakhatreh/traficon-project/blob/main/People/ShowPersonInfo.cs): `People/ShowPersonInfo.cs`
- [User directory](https://github.com/zaid-shakhatreh/traficon-project/blob/main/User/ListUsersScreen.cs): `User/ListUsersScreen.cs`
- [User details](https://github.com/zaid-shakhatreh/traficon-project/blob/main/User/ShowUserDetailsScreen.cs): `User/ShowUserDetailsScreen.cs`
- [Driver directory](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Drivers/ListDriversScreen.cs): `Drivers/ListDriversScreen.cs`

### Applications

- [Local applications](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Local%20Driving%20License/ListLocalDrivingLicesnseApplicationsScreen.cs): `Applications/Local Driving License/ListLocalDrivingLicesnseApplicationsScreen.cs`
- [Local application editor](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Local%20Driving%20License/AddEditLocalDrivingLicense.cs): `Applications/Local Driving License/AddEditLocalDrivingLicense.cs`
- [Start local application](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Local%20Driving%20License/PersonalInfoForLocalDriverScreen.cs): `Applications/Local Driving License/PersonalInfoForLocalDriverScreen.cs`
- [International application](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/International%20License/AddNewInternationalLicenseApplicationScreen.cs): `Applications/International License/AddNewInternationalLicenseApplicationScreen.cs`
- [International applications](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/International%20License/ListInternationalLicenseScreen.cs): `Applications/International License/ListInternationalLicenseScreen.cs`

### License operations

- [First license issuance](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Licenses/Local%20Licenses/IssueDriverLicenseFirstTimeScreen.cs): `Licenses/Local Licenses/IssueDriverLicenseFirstTimeScreen.cs`
- [License details](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Licenses/Local%20Licenses/ShowLicenseInfoScreen.cs): `Licenses/Local Licenses/ShowLicenseInfoScreen.cs`
- [License history](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Licenses/Local%20Licenses/LicenseHistoryScreen.cs): `Licenses/Local Licenses/LicenseHistoryScreen.cs`
- [Local license history](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Licenses/Local%20Licenses/LocalLicenseHistoryScreen.cs): `Licenses/Local Licenses/LocalLicenseHistoryScreen.cs`
- [Renew license](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Renew%20License/RenewLicenseScreen.cs): `Applications/Renew License/RenewLicenseScreen.cs`
- [Replace license](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Replace%20Lost%20Or%20Damaged%20License/ReplaceLostOrDamagedLicenseApplicationScreen.cs): `Applications/Replace Lost Or Damaged License/ReplaceLostOrDamagedLicenseApplicationScreen.cs`
- [Detain license](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Licenses/Detain%20License/DetainLicenseApplicationScreen.cs): `Licenses/Detain License/DetainLicenseApplicationScreen.cs`
- [Detained licenses](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Rlease%20Detained%20License/ListDetainedLicensesScreen.cs): `Applications/Rlease Detained License/ListDetainedLicensesScreen.cs`
- [Release detained license](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Rlease%20Detained%20License/ReleaseDetainedLicenseApplicationScreen.cs): `Applications/Rlease Detained License/ReleaseDetainedLicenseApplicationScreen.cs`

### Reference settings

- [Application types](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Manage%20Application%20Type/ListApplicationTypeScreen.cs): `Applications/Manage Application Type/ListApplicationTypeScreen.cs`
- [Test types](https://github.com/zaid-shakhatreh/traficon-project/blob/main/Applications/Manage%20Test%20Type/ListTestTypeScreen.cs): `Applications/Manage Test Type/ListTestTypeScreen.cs`

### Other components

- **Operator**

## Connections

- Operator → Sign in: provides credentials (evidence: `Login/LoginScreen.cs`)
- Sign in → Main menu: opens after sign-in (evidence: `Login/LoginScreen.cs`)
- Main menu → People directory: opens (evidence: `MainPageScreen.cs`)
- Main menu → Driver directory: opens (evidence: `MainPageScreen.cs`)
- Main menu → User directory: opens (evidence: `MainPageScreen.cs`)
- Main menu → Start local application: opens (evidence: `MainPageScreen.cs`)
- Main menu → Local applications: opens (evidence: `MainPageScreen.cs`)
- Main menu → International application: opens (evidence: `MainPageScreen.cs`)
- Main menu → International applications: opens (evidence: `MainPageScreen.cs`)
- Main menu → Renew license: opens (evidence: `MainPageScreen.cs`)
- Main menu → Replace license: opens (evidence: `MainPageScreen.cs`)
- Main menu → Detained licenses: opens (evidence: `MainPageScreen.cs`)
- Main menu → Application types: opens (evidence: `MainPageScreen.cs`)
- Main menu → Test types: opens (evidence: `MainPageScreen.cs`)
- People directory → Person editor: opens (evidence: `People/ListPeople.cs`)
- People directory → Person details: opens (evidence: `People/ListPeople.cs`)
- User directory → User details: opens (evidence: `User/ListUsersScreen.cs`)
- Local applications → Local application editor: opens (evidence: `Applications/Local Driving License/ListLocalDrivingLicesnseApplicationsScreen.cs`)
- Local applications → First license issuance: opens (evidence: `Applications/Local Driving License/ListLocalDrivingLicesnseApplicationsScreen.cs`)
- International applications → International application: opens (evidence: `Applications/International License/ListInternationalLicenseScreen.cs`)
- International applications → Person details: opens (evidence: `Applications/International License/ListInternationalLicenseScreen.cs`)
- International applications → License history: opens (evidence: `Applications/International License/ListInternationalLicenseScreen.cs`)
- Detained licenses → Release detained license: opens (evidence: `Applications/Rlease Detained License/ListDetainedLicensesScreen.cs`)
- Detained licenses → License details: opens (evidence: `Applications/Rlease Detained License/ListDetainedLicensesScreen.cs`)
- Detained licenses → Detain license: opens (evidence: `Applications/Rlease Detained License/ListDetainedLicensesScreen.cs`)
- Detain license → Local license history: opens (evidence: `Licenses/Detain License/DetainLicenseApplicationScreen.cs`)
- License history → Local license history: opens (evidence: `Licenses/Local Licenses/LicenseHistoryScreen.cs`)
- Renew license → Local license history: opens (evidence: `Applications/Renew License/RenewLicenseScreen.cs`)
- Replace license → Local license history: opens (evidence: `Applications/Replace Lost Or Damaged License/ReplaceLostOrDamagedLicenseApplicationScreen.cs`)
- Release detained license → License history: opens (evidence: `Applications/Rlease Detained License/ReleaseDetainedLicenseApplicationScreen.cs`)
- Release detained license → License details: opens (evidence: `Applications/Rlease Detained License/ReleaseDetainedLicenseApplicationScreen.cs`)
