https://get-dlms.onrender.com/
Experience the future of driving license management with our comprehensive, interactive, and responsive platform. π
- Features
- Tech Stack
- Installation
- Usage
- API Endpoints
- Project Structure
- Environment Variables
- Contributing
- License
- Interactive hero section with live statistics
- Animated feature cards with hover effects
- Responsive design for all devices
- Dark/Light mode toggle
- User registration and authentication
- Email verification system
- OTP verification
- Profile management with photo upload
- Multi-language support
- License application process
- Multiple license categories (Motorcycle, Automobile, Public Transport, Trucks, etc.)
- License renewal system
- Digital license generation with QR codes
- License verification system
- Theory exam system
- Practical exam scheduling
- Exam result management
- Trial exam functionality
- Online practice tests
- Secure payment processing
- Multiple payment methods
- Payment tracking and history
- Receipt generation
- Real-time notifications
- Email notifications
- In-app notification center
- Activity logging
- User management
- Application review system
- Exam management
- Payment management
- News and announcements
- Report generation
- Violation tracking
- Exam conduct system
- Result entry
- Schedule management
- Performance tracking
- License verification
- Violation reporting
- Case management
- Real-time data access
- News management system
- Featured articles
- Category-based news
- Responsive news display
- React 18 - Modern JavaScript library for building user interfaces
- Material-UI (MUI) - Comprehensive component library
- React Router - Declarative routing solution
- Framer Motion - Production-ready animation library
- Axios - Promise-based HTTP client
- Tailwind CSS - Utility-first CSS framework
- Node.js - JavaScript runtime environment
- Express.js - Web application framework
- MongoDB - NoSQL database with Atlas cloud hosting
- Mongoose - MongoDB object modeling
- JWT - Token-based authentication
- bcryptjs - Password hashing
- Nodemailer - Email service
- Multer - File upload handling
- Vite - Next-generation frontend tooling
- ESLint - JavaScript linter
- Prettier - Code formatter
- Render - Cloud hosting platform
- Node.js (v18 or higher)
- MongoDB (local instance or Atlas account)
- Git
- Clone the repository
git clone https://github.com/yourusername/DLMS--Driving-license-management-system.git
cd DLMS--Driving-license-management-system- Navigate to backend directory
cd backend- Install backend dependencies
npm install- Create environment file
cp .env.example .env-
Configure environment variables (see Environment Variables)
-
Start the backend server
npm run dev- Navigate to frontend directory
cd frontend- Install frontend dependencies
npm install- Create environment file
cp .env.example .env- Start the development server
npm run dev- Backend runs on
http://localhost:5004 - Frontend runs on
http://localhost:5173 - API endpoints are prefixed with
/api
- Build frontend:
npm run buildin frontend directory - Start backend:
npm startin backend directory - Access the application at the configured domain
POST /api/auth/register- User registrationPOST /api/auth/login- User loginPOST /api/auth/verify-otp- OTP verificationPOST /api/auth/admin/login- Admin login
GET /api/users/profile- Get user profilePUT /api/users/profile- Update user profilePOST /api/users/upload-profile- Upload profile picture
POST /api/license/apply- Apply for licenseGET /api/license/:licenseNumber- Get license detailsPUT /api/license/renew- Renew licenseGET /api/license/verify/:licenseNumber- Verify license
GET /api/exams/schedule- Get exam schedulePOST /api/exams/apply- Apply for examGET /api/exams/results- Get exam results
POST /api/payments/create- Create paymentGET /api/payments/history- Get payment historyPOST /api/payments/verify- Verify payment
GET /api/admin/dashboard- Admin dashboard dataGET /api/admin/users- Get all usersGET /api/admin/applications- Get license applicationsGET /api/admin/reports- Generate reports
DLMS--Driving-license-management-system/
βββ backend/
β βββ config/
β β βββ db.js # Database configuration
β βββ controllers/ # Request handlers
β βββ middleware/ # Custom middleware
β βββ models/ # Database models
β βββ routes/ # API route definitions
β βββ services/ # Business logic
β βββ utils/ # Utility functions
β βββ uploads/ # File uploads directory
β βββ .env # Environment variables
β βββ server.js # Main server file
β βββ package.json
βββ frontend/
β βββ public/ # Static assets
β βββ src/
β β βββ components/ # React components
β β βββ contexts/ # React contexts
β β βββ hooks/ # Custom hooks
β β βββ pages/ # Page components
β β βββ router/ # Routing configuration
β β βββ services/ # API services
β β βββ styles/ # CSS/SCSS files
β β βββ theme/ # MUI theme configuration
β β βββ utils/ # Utility functions
β β βββ App.jsx # Main application component
β β βββ main.jsx # Application entry point
β βββ .env # Environment variables
β βββ package.json
β βββ vite.config.mjs # Vite configuration
βββ .gitignore
βββ README.md
βββ LICENSE
# Server
PORT=5004
NODE_ENV=development
# Database
MONGODB_URI=mongodb+srv://<username>:<password>@<cluster-host>/<database>?retryWrites=true&w=majority
# JWT
JWT_SECRET=your_jwt_secret_key
# Email Configuration
EMAIL_SERVICE=gmail
EMAIL_USER=your_email@gmail.com
EMAIL_PASSWORD=your_app_password
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
# Frontend URL (for email verification links)
FRONTEND_URL=http://localhost:5173# API URL
VITE_API_URL=http://localhost:5004/apiWe welcome contributions to the DLMS project! Here's how you can help:
- Fork the repository
- 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 the existing code style
- Write clear commit messages
- Add tests if applicable
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
Dawit S.
For support, please contact:
- Email: dlms.sys.2025@gmail.com
- GitHub Issues: Create an issue
- β Initial release
- β User authentication system
- β License application process
- β Exam management system
- β Payment integration
- β Admin dashboard
- β Responsive design
- β Multi-language support
- β Dark/Light mode
- β Codebase optimization and comment cleanup
- β Initial release
- β User authentication system
- β License application process
- β Exam management system
- β Payment integration
- β Admin dashboard
- β Responsive design
- β Multi-language support
- β Dark/Light mode
- Special thanks to the open-source community
- Inspired by modern driving license systems worldwide
- Built by Dawit S. for better user experience