DVLD is a full-featured desktop application built using .NET Framework and SQL Server to manage driving license operations.
The system simulates real-world workflows including license issuance, test scheduling, retakes, and license detention management.
The project follows a 3-Tier Architecture:
-
Data Access Layer (DAL)
Handles database communication using ADO.NET and SQL queries. -
Business Layer (BLL)
Contains business logic, validations, and rules. -
Presentation Layer (WinForms)
Provides a user-friendly desktop interface.
- Fully relational database using SQL Server
- Strong use of Foreign Keys to maintain data integrity
- People
- Users
- Drivers
- Licenses
- Applications
- TestAppointments
- Tests
- DetainedLicenses
- Add / Update users
- Link users to people
- Authentication system
- Issue new driving licenses
- Renew licenses
- Replace damaged/lost licenses
- Local driving license applications
- International license applications
- Application status tracking
- Schedule tests (Vision, Written, Driving)
- Handle test retakes
- Track passed/failed tests
- Detain licenses
- Release detained licenses
- Track detention history
- Built using ADO.NET (SqlConnection, SqlCommand, SqlDataReader)
- Complex SQL queries with joins and aggregations
- Business validation logic
- Dynamic UI updates using WinForms
- Multi-module system with separation of concerns
- Prevent duplicate license applications
- Automatically calculate retake fees
- Check if a person already has a driver record
- Track number of attempts per test
- Manage application lifecycle
- .NET Framework (WinForms)
- SQL Server
- ADO.NET
- C#
To run the project correctly:
- Open Visual Studio
- Click on Open a Project or Solution
- Navigate to the project folder
- Open:
⚠️ Do NOT use "Open Folder" as it may cause errors or missing references.
Each user may have a different SQL Server setup.
- Open
App.config - Locate the connection string:
<connectionStrings>
<add name="DefaultConnection"
connectionString="Server=.;Database=DVLD;Integrated Security=True;" />
</connectionStrings>
Before running the application:
- In Solution Explorer, right-click on the project
LoginAccount - Select Set as Startup Project
⚠️ The application may not run correctly if another project is set as startup.
If the DVLD database is not present on your machine:
- Open SQL Server Management Studio (SSMS).
- In the Databases node, select Restore Database.
- Choose the backup file
DVLD.bakprovided in the project. - Ensure the restored database name matches the connection string in
App.config.
Example:<connectionStrings> <add name="DefaultConnection" connectionString="Server=YOUR_SERVER_NAME;Database=DVLD;Integrated Security=True;" </connectionStrings>
- Make sure SQL Server is running
- Ensure the DVLD database is restored before running
- Verify all projects load without errors
- Each user may have different credentials; update
App.configconnection string accordingly ذ