Skip to content

About

A full-stack C# .NET Windows Forms and SQL Server desktop system automating the complete licensing lifecycle: people & operator management, 3-stage driver testing (Vision, Written, Practical), license issuance, renewal, replacement, detention/release, and international permits.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

DVLD – Driving and Vehicle License Department System


Quick Navigation

Document Contents
01 – Project Overview Purpose, users, capabilities, technology stack, architecture
02 – Feature Documentation Every feature: workflow, frontend, BLL, DB interaction, E2E flow
03 – System Architecture Layer diagram, component responsibilities, data-flow
04 – Database Documentation Schema, every table, views, relationships, SQL operations
05 – BLL Documentation Every BLL class: methods, logic, DAL calls, design decisions
06 – DAL Documentation Every DAL class: queries, parameters, connection management
07 – Frontend Documentation Forms, User Controls, navigation, component map
08 – Cross-Layer Traceability Requirement to Form to BLL to DAL to Table mapping
09 – Design Decisions Technical rationale, architectural trade-offs, and design patterns
Requirements Specification Original system requirements and functional specifications (Arabic)
System Demo Video Full HD 1080p video walkthrough demonstration
System Screenshots Complete 34-step sequential UI visual walkthrough

Project at a Glance

DVLD is a desktop Windows Forms application written in C# / .NET that automates a driving-license authority's operations. It replaces paper-based processes for managing people, system users, license applications, test scheduling, license issuance, and license lifecycle events (renew, replace, detain, release, international issuance).

All business workflows and regulatory constraints are implemented in accordance with the official functional requirements in Requirements.md, with full architectural rationale documented in 09 – Design Decisions.

Core Capabilities

  1. Person management (CRUD + photo upload)
  2. System-user management (password encryption, active/inactive)
  3. Local driving-license application lifecycle (new → test scheduling → pass → issue)
  4. Three-stage test pipeline: Vision → Written → Practical
  5. Retake-test workflow with a new fee application per attempt
  6. License renewal (expired licenses only)
  7. License replacement for damaged or lost cards
  8. License detention and release with fine fees
  9. International driving-license issuance
  10. Driver registry and license history
  11. Reference-data management (application types, test types)

🎥 System Demo Video

Watch the complete 1080p high-definition end-to-end system walkthrough demonstrating all core features:


📸 System Screenshots (In Order)

Below is the complete 34-step visual walkthrough of the DVLD application in sequential operational order:

1. Authentication & Main Interface

01 – Login Screen 02 – Main System Dashboard
01 - Login 02 - Main Dashboard

2. Applications & Driving Services Menus

03 – Applications Menu 04 – Driving Licenses Services Menu
03 - Applications Menu 04 - Driving Services Menu

3. Local Driving License Application Creation

05 – New Driving License Service Selection 06 – New Local Driving License Application Form
05 - New License Options 06 - New Local License Form

4. Manage Local Driving License Applications

07 – Manage Applications Grid 08 – Local Applications List & Status
07 - Manage Applications 08 - Local Applications List

5. Application Context Actions & Filter Controls

09 – Application Row Context Menu 10 – Multi-Criteria Search & Filter Options
09 - Application Context Menu 10 - Local List Filters

6. People Management & Demographic Records

11 – People Management Directory 12 – Person Context Menu & Operations
11 - People Management 12 - People Context Menu

7. Citizen Registration & Driver Registry

13 – Add / Edit Person Profile Form 14 – Registered Drivers List Grid
13 - Add Person 14 - Drivers List

8. Driver Search & User Administration

15 – Driver Search Filters 16 – Manage System Users Grid
15 - Driver Filters 16 - Manage Users

9. User Filtering & Operator Account Management

17 – User Status & Role Filters 18 – Operator Account Settings Menu
17 - User Filters 18 - My Account Menu

10. Operator Profile & Credential Security

19 – Current User Profile Card 20 – Change Operator Password Form
19 - Current User Info 20 - Change Password

11. License Detention Management

21 – Detain / Release License Menu Options 22 – Manage Detained Licenses Grid
21 - Detention Options 22 - Manage Detained Licenses

12. Reference Data Management (Statutory Fees)

23 – Manage Application Types & Fees Catalog 24 – Manage Test Types & Fees Configuration
23 - Application Types 24 - Test Types

13. International Driving Licenses

25 – International License Applications List 26 – International License Context Menu
25 - International Applications 26 - International Context Menu

14. License Lifecycle: Renewal

27 – Driving License Services Navigation 28 – Renew Expired License Form
27 - Driving Services Menu 28 - Renew License

15. License Replacement (Damaged & Lost Cards)

29 – Replacement for Damaged License Form 30 – Replacement for Lost License Option
29 - Replacement Damaged 30 - Replacement Lost

16. License Release & Impoundment Processing

31 – Release Detained Driving License Form 32 – Detain Driving License Form
31 - Release Detained License 32 - Detain License Form

17. International Issuance & Application Gate Actions

33 – Issue International Driving License (1-Year) 34 – Application Actions & Test Scheduling Menu
33 - New International License 34 - Actions Menu

Technology Stack

Concern Technology
Language C# (.NET)
UI Framework Windows Forms
Database Microsoft SQL Server
SQL client Microsoft.Data.SqlClient
Serialization System.Text.Json (login persistence)
Encryption AES-256 symmetric (System.Security.Cryptography)

Three-Layer Architecture

+----------------------------------------------+
|              FrontEnd (WinForms)             |  namespace FrontEnd
|  Forms, User Controls, Events                |
+------------------+---------------------------+
                   | calls (direct reference)
+------------------v---------------------------+
|          BussinessLogicLayer (BLL)           |  namespace BussinessLogicLayer
|  Domain objects, Validations, Workflows      |
+------------------+---------------------------+
                   | calls (direct reference)
+------------------v---------------------------+
|          DataAccessLayer (DAL)               |  namespace DataAccessLayer
|  SQL queries, SqlCommand, SqlConnection      |
+------------------+---------------------------+
                   | ADO.NET
+------------------v---------------------------+
|        SQL Server - Database "MyDVLD"        |
|  Tables, Views, T-SQL transactions           |
+----------------------------------------------+

Database Diagrams

The original ERD and Relational Schema diagrams are located in:

Open these files with draw.io to view them.


About

A full-stack C# .NET Windows Forms and SQL Server desktop system automating the complete licensing lifecycle: people & operator management, 3-stage driver testing (Vision, Written, Practical), license issuance, renewal, replacement, detention/release, and international permits.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages