Skip to content

Rahulhanje/RTO-Management-System-RMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

100 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿšฆ RTO Management System

Status Node.js React TypeScript PostgreSQL

๐ŸŒ A Modern Full-Stack Solution for Regional Transport Office Operations

Digitizing citizen services โ€ข Streamlining workflows โ€ข Empowering authorities


Features โ€ข Tech Stack โ€ข Installation โ€ข API Docs โ€ข Contributing


โœจ What is RTO Management System?

A comprehensive digital platform that transforms how Regional Transport Offices operate. From license applications to vehicle registrations, challans to appointments โ€” everything managed through an intuitive, role-based system.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    ๐ŸŽฏ KEY HIGHLIGHTS                            โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  ๐Ÿ” Secure JWT Authentication    โ”‚  ๐Ÿ“Š Real-time Analytics     โ”‚
โ”‚  ๐Ÿ‘ฅ Multi-Role Access Control    โ”‚  ๐Ÿ’ณ Integrated Payments     โ”‚
โ”‚  ๐Ÿ“ฑ Responsive Modern UI         โ”‚  ๐Ÿ”” Smart Notifications     โ”‚
โ”‚  โšก Lightning Fast Performance   โ”‚  ๐Ÿ›ก๏ธ Enterprise Security     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ‘ฅ User Roles & Capabilities

๐Ÿ‘ค Citizen

Self-Service Portal

๐Ÿ‘ฎ Police

Enforcement Tools

๐Ÿข RTO Officer

Processing Hub

๐Ÿ›ก๏ธ Admin

System Control

  • Apply for DL
  • Register vehicles
  • View challans
  • Book appointments
  • Track applications
  • Make payments
  • Issue challans
  • Verify licenses
  • Check vehicle info
  • Update violations
  • Access reports
  • Approve/reject DL
  • Process registrations
  • Issue licenses
  • Schedule tests
  • Monitor queues
  • Manage users
  • Assign roles
  • View analytics
  • System config
  • Audit logs

๐Ÿ› ๏ธ Tech Stack

Backend

Node.js Express TypeScript PostgreSQL JWT

Frontend

React Vite TailwindCSS Shadcn


๐ŸŽฏ Features

โœ… Implemented ๐Ÿšง Coming Soon
๐Ÿ” JWT Authentication ๐Ÿ“ง Email Notifications
๐Ÿ‘ฅ Role-Based Access (6 Roles) ๐Ÿ“ฑ SMS Alerts
๐Ÿชช DL Application & Management ๐Ÿ“Š Advanced Analytics
๐Ÿš— Vehicle Registration ๐Ÿ“„ Document Verification
๐ŸŽซ Challan Management ๐Ÿค– AI-Powered Insights
๐Ÿ“… Appointment Booking ๐ŸŒ Multi-language Support
๐Ÿ’ณ Payment Processing
๐Ÿ”” Notifications System
๐Ÿ“ˆ Analytics Dashboard
๐Ÿข RTO Office Management

๐Ÿš€ Quick Start

Prerequisites

Node.js 18+  โ€ข  PostgreSQL 15+  โ€ข  npm/yarn

โšก One-Minute Setup

๐Ÿ“ฆ Backend Setup
# Navigate to backend
cd backend

# Install dependencies
npm install

# Configure environment
cp .env.example .env
# Edit .env with your database credentials
# Required Environment Variables
# Create a .env file in the backend directory with:
# - PORT=5000
# - DATABASE_URL=postgresql://user:pass@host:port/dbname
# - JWT_SECRET=your_jwt_secret
# - JWT_REFRESH_SECRET=your_refresh_secret
# - EMAIL_HOST=smtp.gmail.com (or other provider)
# - EMAIL_USER=your_email@gmail.com
# - EMAIL_PASSWORD=your_app_password

# Run database setup
psql -U postgres -f database_setup.sql

# Start development server
npm run dev

๐ŸŸข Backend runs at http://localhost:5000

๐ŸŽจ Frontend Setup
# Navigate to frontend
cd frontend

# Install dependencies
npm install

# Start development server
npm run dev

๐ŸŸข Frontend runs at http://localhost:5173


๐Ÿ“ Developer Notes

  • Ensure PostgreSQL service is running before starting the backend server.
  • Double-check .env variables to avoid database connection issues.
  • Run backend and frontend in separate terminals during development.
  • Use Node.js version 18 or above for best compatibility.

๐Ÿ“ Project Structure

๐Ÿ“ฆ rto-management-system
โ”œโ”€โ”€ ๐Ÿ”ง backend/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ src/
โ”‚   โ”‚   โ”œโ”€โ”€ ๐ŸŽฎ controllers/     # Request handlers
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“Š models/          # Database models
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ›ฃ๏ธ routes/          # API routes
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ›ก๏ธ middlewares/     # Auth & validation
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ”ง utils/           # Helper functions
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ’พ db.ts            # Database connection
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿš€ index.ts         # Entry point
โ”‚   โ””โ”€โ”€ ๐Ÿ“‹ package.json
โ”‚
โ”œโ”€โ”€ ๐ŸŽจ frontend/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ src/
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿงฉ components/      # Reusable UI components
โ”‚   โ”‚   โ”œโ”€โ”€ ๐ŸŒ contexts/        # React contexts
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿช hooks/           # Custom hooks
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ pages/           # Page components
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ”Œ services/        # API services
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ types/           # TypeScript types
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“ฑ App.tsx          # Root component
โ”‚   โ””โ”€โ”€ ๐Ÿ“‹ package.json
โ”‚
โ””โ”€โ”€ ๐Ÿ“– README.md

๐Ÿ”Œ API Endpoints

๐Ÿ” Authentication
Method Endpoint Description
POST /api/auth/register Register new user
POST /api/auth/login User login
POST /api/auth/logout User logout
POST /api/auth/forgot-password Password reset
๐Ÿ‘ค User Management
Method Endpoint Description
GET /api/users/profile Get user profile
PUT /api/users/profile Update profile
GET /api/users List all users (Admin)
๐Ÿชช Driving License
Method Endpoint Description
POST /api/dl-applications Apply for DL
GET /api/dl-applications View applications
PUT /api/dl-applications/:id/approve Approve DL
GET /api/driving-license View license
๐Ÿš— Vehicles
Method Endpoint Description
POST /api/vehicles Register vehicle
GET /api/vehicles List vehicles
GET /api/vehicles/:id Vehicle details
๐ŸŽซ Challans
Method Endpoint Description
POST /api/challans Issue challan
GET /api/challans List challans
PUT /api/challans/:id/pay Pay challan

๐Ÿ”’ Security Features

Feature Description
๐Ÿ” JWT Tokens Secure authentication with access & refresh tokens
๐Ÿ›ก๏ธ RBAC Role-Based Access Control for 6 different user types
๐Ÿ”‘ Bcrypt Industry-standard password hashing
๐Ÿšซ Rate Limiting Protection against brute force attacks
โœ… Input Validation Comprehensive request validation
๐Ÿ”’ CORS Configured Cross-Origin Resource Sharing

๐Ÿงช Testing

# Import Postman collection from backend/postman_collection.json
# Refer to backend/API_TESTING_GUIDE.md for detailed instructions

๐Ÿค Contributing

Contributions are welcome! Here's how you can help:

  1. ๐Ÿด Fork the repository
  2. ๐ŸŒฟ Create a feature branch (git checkout -b feature/amazing-feature)
  3. ๐Ÿ’พ Commit your changes (git commit -m 'Add amazing feature')
  4. ๐Ÿ“ค Push to the branch (git push origin feature/amazing-feature)
  5. ๐ŸŽ‰ Open a Pull Request

๐Ÿ“„ License

This project is developed for educational and demonstration purposes.



โญ If you found this project helpful, please give it a star!


Made with โค๏ธ and โ˜•

About

A comprehensive RTO Management System designed to digitize and automate Regional Transport Office operations such as Driving License management, Vehicle Registration, Appointments, Payments, Violations, and Reporting using Agile/Scrum methodology.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors