# mohammad-shamat/driving_license_management_system architecture

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

- Interactive diagram: https://gitdiagram.com/mohammad-shamat/driving_license_management_system
- Repository: https://github.com/mohammad-shamat/driving_license_management_system

## Overview

DVLD is a WinForms desktop system for managing people, users, application types, and driving-license services. The intended user journey begins at sign-in and continues through the main screen into management screens or license-service actions. The README also describes tests, license categories, and detention workflows, which appear in the available application UI structure but whose implementations were not sampled. The graph reflects the documented three-tier design; detailed wiring beyond the sampled person data path is not asserted.

Main entry points: [`DVLD - Driving License Management/MainScreen/FrmMain.cs`](https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD%20-%20Driving%20License%20Management/MainScreen/FrmMain.cs) (Main screen), [`DVLD - Driving License Management/Applications/Ctrls/CtrlMainApplication.cs`](https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD%20-%20Driving%20License%20Management/Applications/Ctrls/CtrlMainApplication.cs) (License services), [`DVLD-Buisness/ClsPerson.cs`](https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD-Buisness/ClsPerson.cs) (People management), [`DVLD - Driving License Management/Login/FrmLogin.cs`](https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD%20-%20Driving%20License%20Management/Login/FrmLogin.cs) (Sign in)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Desktop interface"]
  node_login["Sign in<br/>[FrmLogin.cs]"]
  node_main["Main screen<br/>[FrmMain.cs]"]
  node_dashboard["Dashboard<br/>[CtrlDashboard.cs]"]
  node_people_ui["People screens"]
  node_users_ui["User screens"]
  node_apps_ui["Application screens"]
  node_license_ui["License services"]
end

subgraph group_domain["Management workflows"]
  node_people_domain["People management<br/>[ClsPerson.cs]"]
  node_users_domain["User management<br/>[ClsUsers.cs]"]
  node_country_domain["Country lookup<br/>[ClsCountry.cs]"]
  node_app_types["Application types"]
  node_test_types["Test types"]
  node_license_categories["License categories"]
  node_detention["License detention"]
end

subgraph group_data["Data access"]
  node_people_access["People queries<br/>[ClsPersonData.cs]"]
  node_user_access["User queries<br/>[ClsUserData.cs]"]
  node_country_access["Country queries<br/>[ClsCountryData.cs]"]
  node_app_type_access["Application type queries"]
end

subgraph group_external["External systems"]
  node_sql[("SQL Server")]
end

node_operator(("Staff user"))

node_operator -->|"signs in"| node_login
node_login -->|"opens"| node_main
node_main -->|"shows"| node_dashboard
node_main -->|"opens"| node_people_ui
node_main -->|"opens"| node_users_ui
node_main -->|"opens"| node_apps_ui
node_main -->|"opens"| node_license_ui
node_people_ui -->|"manages people"| node_people_domain
node_people_domain -->|"queries and saves"| node_people_access
node_people_domain -->|"loads country"| node_country_domain
node_country_domain -->|"queries"| node_country_access
node_users_ui -->|"manages users"| node_users_domain
node_users_domain -->|"accesses data"| node_user_access
node_apps_ui -->|"manages types"| node_app_types
node_app_types -->|"accesses data"| node_app_type_access
node_license_ui -.->|"offers retesting"| node_test_types
node_license_ui -.->|"offers licensing"| node_license_categories
node_license_ui -.->|"offers detention"| node_detention
node_people_access -->|"reads and writes"| node_sql
node_user_access -->|"accesses database"| node_sql
node_country_access -->|"accesses database"| node_sql
node_app_type_access -->|"accesses database"| node_sql

click node_login "https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD%20-%20Driving%20License%20Management/Login/FrmLogin.cs"
click node_main "https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD%20-%20Driving%20License%20Management/MainScreen/FrmMain.cs"
click node_dashboard "https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD%20-%20Driving%20License%20Management/MainScreen/Ctrls/CtrlDashboard.cs"
click node_people_ui "https://github.com/mohammad-shamat/driving_license_management_system/tree/main/DVLD%20-%20Driving%20License%20Management/People"
click node_users_ui "https://github.com/mohammad-shamat/driving_license_management_system/tree/main/DVLD%20-%20Driving%20License%20Management/User"
click node_apps_ui "https://github.com/mohammad-shamat/driving_license_management_system/tree/main/DVLD%20-%20Driving%20License%20Management/Applications"
click node_license_ui "https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD%20-%20Driving%20License%20Management/Applications/Ctrls/CtrlMainApplication.cs"
click node_people_domain "https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD-Buisness/ClsPerson.cs"
click node_users_domain "https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD-Buisness/ClsUsers.cs"
click node_country_domain "https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD-Buisness/ClsCountry.cs"
click node_app_types "https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD-Buisness/ClsApplicationType.cs"
click node_test_types "https://github.com/mohammad-shamat/driving_license_management_system/tree/main/DVLD%20-%20Driving%20License%20Management/Applications"
click node_license_categories "https://github.com/mohammad-shamat/driving_license_management_system/tree/main/DVLD%20-%20Driving%20License%20Management/Applications"
click node_detention "https://github.com/mohammad-shamat/driving_license_management_system/tree/main/DVLD%20-%20Driving%20License%20Management/Applications"
click node_people_access "https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD-DataAccess/ClsPersonData.cs"
click node_user_access "https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD-DataAccess/ClsUserData.cs"
click node_country_access "https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD-DataAccess/ClsCountryData.cs"
click node_app_type_access "https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD-DataAccess/ClsApplicationTypeData.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_main,node_dashboard,node_people_ui,node_users_ui,node_apps_ui,node_license_ui,node_operator toneBlue
class node_people_domain,node_users_domain,node_country_domain,node_app_types,node_test_types,node_license_categories,node_detention toneAmber
class node_people_access,node_user_access,node_country_access,node_app_type_access toneMint
class node_sql toneRose
```

## Components

### Desktop interface

- [Sign in](https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD%20-%20Driving%20License%20Management/Login/FrmLogin.cs): `DVLD - Driving License Management/Login/FrmLogin.cs`
- [Main screen](https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD%20-%20Driving%20License%20Management/MainScreen/FrmMain.cs): `DVLD - Driving License Management/MainScreen/FrmMain.cs`
- [Dashboard](https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD%20-%20Driving%20License%20Management/MainScreen/Ctrls/CtrlDashboard.cs): `DVLD - Driving License Management/MainScreen/Ctrls/CtrlDashboard.cs`
- [People screens](https://github.com/mohammad-shamat/driving_license_management_system/tree/main/DVLD%20-%20Driving%20License%20Management/People): `DVLD - Driving License Management/People`
- [User screens](https://github.com/mohammad-shamat/driving_license_management_system/tree/main/DVLD%20-%20Driving%20License%20Management/User): `DVLD - Driving License Management/User`
- [Application screens](https://github.com/mohammad-shamat/driving_license_management_system/tree/main/DVLD%20-%20Driving%20License%20Management/Applications): `DVLD - Driving License Management/Applications`
- [License services](https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD%20-%20Driving%20License%20Management/Applications/Ctrls/CtrlMainApplication.cs): `DVLD - Driving License Management/Applications/Ctrls/CtrlMainApplication.cs`

### Management workflows

- [People management](https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD-Buisness/ClsPerson.cs): `DVLD-Buisness/ClsPerson.cs`
- [User management](https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD-Buisness/ClsUsers.cs): `DVLD-Buisness/ClsUsers.cs`
- [Country lookup](https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD-Buisness/ClsCountry.cs): `DVLD-Buisness/ClsCountry.cs`
- [Application types](https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD-Buisness/ClsApplicationType.cs): `DVLD-Buisness/ClsApplicationType.cs`
- [Test types](https://github.com/mohammad-shamat/driving_license_management_system/tree/main/DVLD%20-%20Driving%20License%20Management/Applications): `DVLD - Driving License Management/Applications`
- [License categories](https://github.com/mohammad-shamat/driving_license_management_system/tree/main/DVLD%20-%20Driving%20License%20Management/Applications): `DVLD - Driving License Management/Applications`
- [License detention](https://github.com/mohammad-shamat/driving_license_management_system/tree/main/DVLD%20-%20Driving%20License%20Management/Applications): `DVLD - Driving License Management/Applications`

### Data access

- [People queries](https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD-DataAccess/ClsPersonData.cs): `DVLD-DataAccess/ClsPersonData.cs`
- [User queries](https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD-DataAccess/ClsUserData.cs): `DVLD-DataAccess/ClsUserData.cs`
- [Country queries](https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD-DataAccess/ClsCountryData.cs): `DVLD-DataAccess/ClsCountryData.cs`
- [Application type queries](https://github.com/mohammad-shamat/driving_license_management_system/blob/main/DVLD-DataAccess/ClsApplicationTypeData.cs): `DVLD-DataAccess/ClsApplicationTypeData.cs`

### External systems

- **SQL Server**

### Other components

- **Staff user**

## Connections

- Staff user → Sign in: signs in
- Sign in → Main screen: opens
- Main screen → Dashboard: shows
- Main screen → People screens: opens
- Main screen → User screens: opens
- Main screen → Application screens: opens
- Main screen → License services: opens
- People screens → People management: manages people
- People management → People queries: queries and saves
- People management → Country lookup: loads country
- Country lookup → Country queries: queries
- User screens → User management: manages users
- User management → User queries: accesses data
- Application screens → Application types: manages types
- Application types → Application type queries: accesses data
- License services → Test types: offers retesting
- License services → License categories: offers licensing
- License services → License detention: offers detention
- People queries → SQL Server: reads and writes
- User queries → SQL Server: accesses database
- Country queries → SQL Server: accesses database
- Application type queries → SQL Server: accesses database
