A comprehensive Windows desktop application for managing driving license issuance, renewals, and international permits. Built with C# .NET and SQL Server.
- Features
- Project Structure
- Technology Stack
- Installation
- Modules
- Database Schema
- Usage
- Contributing
- License
- Complete person registration with personal details
- Person search and filtering capabilities
- Personal information updates and management
- Photo storage and management
- Local Licenses: New issuance, renewals, replacements
- International Licenses: International driving permit processing
- License detention and release management
- License classes and categories management
- Local Driving License Applications
- International License Applications
- License Renewal Applications
- Replace Lost/Damaged License Applications
- Release Detained License Applications
- Driving test types configuration
- Test appointments scheduling
- Test results management
- Test fees calculation
- Driver record creation and maintenance
- License history tracking
- Driver status monitoring
- User accounts management
- Role-based access control
- User permissions configuration
- Authentication and authorization
DVLD/
βββ π DVLD-BusinessLayer/ # Business Logic Layer
β βββ clsPerson.cs # Person entity management
β βββ clsLicense.cs # License operations
β βββ clsApplication.cs # Application processing
β βββ clsDriver.cs # Driver management
β βββ clsUser.cs # User authentication
β βββ clsInternationalLicense.cs # International licenses
β βββ clsTest.cs # Test management
β
βββ π DVLD-DataAccessLayer/ # Data Access Layer
β βββ clsDataAccess.cs # Database connection wrapper
β βββ clsDataAccessSettings.cs # Connection configuration
β βββ StoredProcedures/ # SQL stored procedures
β
βββ π DVLD-PresentationLayer/ # Presentation Layer
β βββ π Applications/ # Application Management
β β βββ π Control/ # Application controls
β β βββ π International License/ # International license apps
β β βββ π Local Driving License/ # Local license applications
β β βββ π Renew Local License/ # License renewal apps
β β βββ π ReplaceLostOrDamagedLicense/ # Replacement applications
β β βββ π Release Detained License/ # License release apps
β β
β βββ π ApplicationTypes/ # Application types management
β β
β βββ π Drivers/ # Driver management
β β βββ Driver registration forms
β β βββ Driver history views
β β
β βββ π Licenses/ # License Management
β β βββ π Control/ # License controls
β β βββ π Detain License/ # License detention
β β βββ π International Licenses/ # International licenses
β β βββ π Local Licenses/ # Local licenses management
β β
β βββ π Main/ # Main application forms
β β βββ Main dashboard
β β βββ Login forms
β β βββ Navigation
β β
β βββ π People/ # People Management
β β βββ π Control/ # Person controls
β β βββ Person registration forms
β β βββ Person search and edit forms
β β
β βββ π Tests/ # Tests Management
β β βββ π TestTypes/ # Test types configuration
β β βββ Test scheduling forms
β β βββ Test results entry forms
β β
β βββ π Users/ # User Management
β β βββ π Control/ # User controls
β β βββ User registration forms
β β βββ User permissions forms
β β
β βββ GlobalClasses.cs # Global utilities and helpers
β
βββ π DatabaseScripts/ # Database creation scripts
- C# .NET Framework - Core application logic
- SQL Server - Database management system
- ADO.NET - Data access technology
- Stored Procedures - Database operations
- Windows Forms - Desktop application framework
- Syncfusion Controls - Enhanced UI components
- GDI+ - Custom graphics and reporting
- 3-Tier Architecture (Presentation, Business, Data Access)
- Layered Architecture - Separation of concerns
- Repository Pattern - Data access abstraction
- Windows 7/10/11
- .NET Framework 4.8 or later
- SQL Server 2012 or later
- Visual Studio 2019 or later
-
Clone the Repository
git clone https://github.com/ridabouakaz/Project-Driving-License-Management.git cd Project-Driving-License-Management -
Database Configuration
- Run the database creation scripts in
DatabaseScripts/ - Update connection string in
clsDataAccessSettings.cs:
public static string ConnectionString = "Server=.;Database=DVLD;User Id=sa;Password=your_password;";
- Run the database creation scripts in
-
Build and Run
- Open
DVLD.slnin Visual Studio - Restore NuGet packages
- Build solution (Ctrl + Shift + B)
- Run application (F5)
- Open
-
Default Login
- Username:
admin - Password:
admin123
- Username:
- Person registration and management
- Personal information storage
- Search and filter functionality
- Photo management
- Local Driving License: New license applications
- International License: International permit applications
- Renew Local License: License renewal processing
- Replace Lost/Damaged License: Replacement requests
- Release Detained License: License release from detention
- Local licenses management
- International licenses processing
- License detention and release
- License status tracking
- Test types configuration
- Test appointments management
- Test results recording
- Test fees management
- Driver registration
- Driver history tracking
- License association management
- User account management
- Role-based permissions
- Authentication system
- Persons - Personal information storage
- Applications - All types of license applications
- Licenses - Local driving licenses
- InternationalLicenses - International driving permits
- Drivers - Driver information
- Users - System users
- Tests - Driving test records
- TestTypes - Test categories and configurations
- Manage all system modules
- Configure application settings
- Manage users and permissions
- Generate comprehensive reports
- Process license applications
- Issue and renew licenses
- Manage international permits
- Handle license replacements
- Schedule driving tests
- Record test results
- Manage test appointments
- Update test status
- Apply for new licenses
- Renew existing licenses
- Request international permits
- Track application status
We welcome contributions! Please follow these steps:
- Fork the project
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow C# coding conventions
- Use meaningful names for variables and methods
- Add XML comments for public methods
- Test all changes thoroughly
This project is licensed under the MIT License - see the LICENSE file for details.
- Developer: Rida Bouakaz
- Project Link: https://github.com/ridabouakaz/Project-Driving-License-Management
- Syncfusion for providing excellent UI components
- Microsoft for .NET Framework and SQL Server
- All contributors and testers
β If you find this project useful, please give it a star!