โจ Seamless Rentals ย | ย ๐ก๏ธ Verified Drivers ย | ย โก Intelligent Fleet
DRIVONS is a production-style, full-stack car rental and booking platform built with Core PHP, MySQL, and Bootstrap. It bridges the gap between users, local car dealers, and administrators โ modernizing vehicle rental across 8 cities in Maharashtra.
The platform handles the complete rental lifecycle: browsing โ booking โ driving license upload โ Razorpay payment โ invoice generation โ all within a seamless web experience, enriched with an AI chatbot and OTP-based email verification.
๐ Final-year academic project ยท ๐ผ Production-grade portfolio showcase
| ๐บ๏ธ | 8 Cities Served | Jalgaon ยท Pune ยท Mumbai ยท Nashik ยท Nagpur ยท Navi Mumbai ยท Thane ยท Sambhaji Nagar |
|---|---|---|
| ๐ | 55+ Cars | Budget โน1,800/day โ Premium โน4,000/day |
| ๐ชช | License Upload | Front & back image for self-drive verification |
| ๐ณ | Online Payment | Razorpay gateway (Test + Live ready) |
| ๐ค | AI Chatbot | TIDIO embedded real-time assistant |
| ๐ง | Email OTP | Registration, login & password reset via PHPMailer |
| ๐ | Auto Invoice | Generated after every confirmed booking |
| ๐ท๏ธ | Subscriptions | Premium plans via Razorpay billing |
| ๐ | Community Blog | 19 author-contributed articles |
| ๐ | Secure Auth | Session-based with role-based access control |
- โ Secure registration with email OTP verification
- โ Login / logout with PHP session management
- โ Browse cars filtered by city and model
- โ View individual car detail pages with full specs & pricing
- โ Dual booking modes โ self-drive (with license) or with a hired driver
- โ Upload driving license (front + back) during booking
- โ Pay seamlessly via Razorpay (UPI / Card / Netbanking)
- โ View booking history and downloadable invoices
- โ Subscribe to premium plans
- โ Edit and manage user profile
- โ Access AI chatbot for instant guidance
- โ Read the community blog
- โ Browse dealer profiles across cities
- โ Submit testimonials and contact messages
(Accessible via Backend/wd.php)
- โ Centralized admin dashboard
- โ Manage all registered users
- โ
View and control all bookings (
tblform) - โ
Monitor payments and transactions (
tblpayments) - โ
Manage vehicle inventory (
tblcars) - โ
Handle subscription records (
tblsubscriptions) - โ Moderate user testimonials
- โ View contact/reply messages
- โ Track newsletter subscribers
- โ Session and access reset controls
- โ
8 registered dealer profiles (
d0โd7) - โ City-specific car inventory pages
- โ Individual dealer detail pages
- โ Direct customer contact options
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ D R I V O N S โ
โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโค
โ USER โ DEALER โ ADMIN โ
โโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Register/Login โ Profile listing โ Full dashboard โ
โ Browse cars โ City inventory โ Booking management โ
โ Book & Pay โ Availability โ User management โ
โ View invoices โ Contact info โ Payment tracking โ
โ Subscribe โ โ License verification โ
โ Manage profile โ โ Subscription control โ
โโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโ
| Technology | Purpose |
|---|---|
| HTML5 | Semantic page structure |
| CSS3 + Custom CSS | Styling, animations, responsive design |
| JavaScript (Vanilla) | Client-side interactivity |
| Bootstrap | Responsive grid layout & UI components |
| Custom Web Fonts | Premium typography (27 bundled font files) |
| Technology | Purpose |
|---|---|
| PHP 8.2 (Core PHP) | Server-side logic, routing, session handling |
| Apache (XAMPP) | Local web server |
| Composer | PHP dependency management |
| PHPMailer | OTP & notification emails via SMTP |
| Razorpay PHP SDK | Payment order creation & signature verification |
| Technology | Purpose |
|---|---|
| MySQL / MariaDB 10.4 | Relational database engine |
| phpMyAdmin | Database GUI management |
| Service | Role |
|---|---|
| Razorpay | Car rental payments & subscription billing |
| TIDIO | AI-powered chatbot (JavaScript embed) |
| PHPMailer + Gmail SMTP | Email delivery for OTPs & notifications |
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Browser (User / Admin) โ
โโโโโโโโโโโโโโโโคโโโโโโโโโโโโโโโโโโโโโโโโ
โ HTTP
โโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโ
โ Frontend Layer โ
โ HTML ยท CSS ยท JS ยท Bootstrap โ
โโโโโโโโโโโโโโโโคโโโโโโโโโโโโโโโโโโโโโโโโ
โ PHP Requests
โโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโ
โ Backend Layer (Core PHP) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Auth Module โ โ
โ โ register / login / OTP โ โ
โ โ logout / forgot / reset pass โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ
โ โ Booking & Form Management โ โ
โ โ save_selected_items / submit โ โ
โ โ checkout / invoice โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ
โ โ Payment Processing โ โ
โ โ create_order / verify_payment โ โ
โ โ payment_success / failed โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ
โ โ Email / OTP Service โ โ
โ โ send_email / verify_otp โ โ
โ โ resend_otp / verify_pass_otp โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ
โ โ Admin Control Panel (wd.php) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโคโโโโโโโโโโโโโโโโโโโโโโโโ
โ MySQLi
โโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโ
โ Database Layer (MySQL) โ
โ tblusers ยท tblcars ยท tblform โ
โ tblpayments ยท tblsubscriptions โ
โ tbltestimonial ยท tblreply โ
โ tblsubscribers โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
[1] Visit โ index.php (Landing page)
โ
[2] Register โ OTP email sent (PHPMailer)
โ
[3] Verify OTP โ Account activated โ Login
โ
[4] Browse cars by city โ Select car
โ
[5] Car detail page โ Click "Book Now"
โ
[6] Fill booking form
โโโ Personal details (name, phone, address)
โโโ Source & destination cities
โโโ Departure & arrival date/time
โโโ Upload driving license (front + back)
โ
[7] Booking saved โ tblform
โ
[8] Proceed to Checkout โ Razorpay popup opens
โ
[9] Payment verified (HMAC) โ tblpayments updated
โ
[10] Invoice auto-generated โ View in "My Bookings"
โ
[11] Admin reviews and manages in wd.php dashboard
Database name:
drivonsยท Engine: InnoDB ยท Charset: utf8mb4
| Table | Description | Key Columns |
|---|---|---|
tblusers |
Registered user accounts | id, username, email, password, OTP, ContactNo, dob, Address, City |
tblcars |
Vehicle inventory (55 cars) | id, carname, dname (city), price (โน/day) |
tblform |
Booking records | user_id, car_id, source, destination, departureDate, arrivalDate, licenseNumber, licenseFront/BackImage |
tblpayments |
Payment transactions | user_id, car_name, amount, payment_status, razorpay_payment_id, transaction_date |
tblsubscriptions |
Premium subscriptions | user_id, plan, amount, transaction_id, payment_status |
tbltestimonial |
User testimonials | email, Testimonial, PostingDate, status |
tblreply |
Contact messages | name, email, title, message, created_at |
tblsubscribers |
Newsletter signups | SubscriberEmail, PostingDate |
-- Users
CREATE TABLE `tblusers` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`username` VARCHAR(255) NOT NULL,
`email` VARCHAR(255) NOT NULL,
`password` VARCHAR(255) NOT NULL,
`OTP` VARCHAR(6) NOT NULL,
`ContactNo` CHAR(11) DEFAULT NULL,
`dob` VARCHAR(100) DEFAULT NULL,
`Address` VARCHAR(255) DEFAULT NULL,
`City` VARCHAR(100) DEFAULT NULL,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Vehicle Inventory
CREATE TABLE `tblcars` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`carname` VARCHAR(100) DEFAULT NULL,
`dname` VARCHAR(100) DEFAULT NULL, -- dealer city
`price` FLOAT DEFAULT NULL -- INR per day
);
-- Bookings
CREATE TABLE `tblform` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`user_id` INT(11) DEFAULT NULL,
`name` VARCHAR(100) DEFAULT NULL,
`email` VARCHAR(100) DEFAULT NULL,
`phone` VARCHAR(100) DEFAULT NULL,
`city` VARCHAR(100) DEFAULT NULL,
`hasLicense` VARCHAR(100) DEFAULT NULL,
`licenseNumber` VARCHAR(100) DEFAULT NULL,
`licenseFrontImage` VARCHAR(100) DEFAULT NULL,
`licenseBackImage` VARCHAR(100) DEFAULT NULL,
`source` VARCHAR(100) DEFAULT NULL,
`destination` VARCHAR(100) DEFAULT NULL,
`departureDate` DATE DEFAULT NULL,
`arrivalDate` DATE DEFAULT NULL,
`car_id` INT(11) DEFAULT NULL,
`carname` VARCHAR(100) DEFAULT NULL,
`price` FLOAT DEFAULT NULL
);
-- Payments
CREATE TABLE `tblpayments` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`user_id` INT(11) DEFAULT NULL,
`car_name` VARCHAR(255) NOT NULL,
`amount` DECIMAL(10,2) DEFAULT NULL,
`payment_status` VARCHAR(50) DEFAULT NULL,
`razorpay_payment_id` VARCHAR(100) DEFAULT NULL,
`transaction_date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);GIT DRIVONS/
โ
โโโ ๐ README.md
โโโ ๐ LICENSE
โโโ ๐ .gitignore
โ
โโโ ๐ Screenshots/
โ โโโ ๐ banner.png โ Project banner
โ
โโโ ๐ Backend/ โ All server-side PHP logic
โ โโโ ๐ dbcon.php โ MySQL connection
โ โโโ ๐ session.php โ Session initialization
โ โโโ ๐ check_session.php โ Auth guard
โ โโโ ๐ reset_session.php โ Session reset
โ โโโ ๐ send_email.php โ PHPMailer dispatcher
โ โโโ ๐ verify_otp.php โ Registration OTP
โ โโโ ๐ verify_pass_otp.php โ Password reset OTP
โ โโโ ๐ resend_otp_pass.php โ Resend OTP
โ โโโ ๐ save_selected_items.php โ Booking selection save
โ โโโ ๐ create_order.php โ Razorpay order creation
โ โโโ ๐ verify_payment.php โ Razorpay HMAC verification
โ โโโ ๐ update_payment_status.php โ Payment status updater
โ โโโ ๐ payment_success.php โ Post-payment handler
โ โโโ ๐ payment_failed.php โ Failure handler
โ โโโ ๐ success.php โ Subscription success
โ โโโ ๐ view_subscriptions.php โ Subscription viewer
โ โโโ ๐ wd.php โ ๐ Admin control panel
โ โโโ ๐ composer.json / composer.lock
โ โโโ ๐ php.ini โ Upload config
โ โโโ ๐ auth/ โ Authentication module
โ โ โโโ ๐ login.php
โ โ โโโ ๐ register.php
โ โ โโโ ๐ logout.php
โ โ โโโ ๐ forgot_password.php
โ โ โโโ ๐ reset_password.php
โ โโโ ๐ sql/
โ โ โโโ ๐ drivons.sql โ Full DB dump (import this)
โ โโโ ๐ uploads/ โ Uploaded license images
โ โโโ ๐ vendor/ โ Composer packages
โ
โโโ ๐ Frontend/ โ All user-facing views
โโโ ๐ index.php โ ๐ Home / Landing page
โโโ ๐ about.php
โโโ ๐ faq.php
โโโ ๐ terms.php
โโโ ๐ subscription.php
โโโ ๐ checkout.php
โโโ ๐ inventory.php
โโโ ๐ accessories.php
โโโ ๐ maintenance.php
โโโ ๐ testimonial.php
โโโ ๐ team.php
โโโ ๐ my-booking.php
โโโ ๐ profile.php
โโโ ๐ invoice.php / invoice_main.php
โโโ ๐ 404.php
โโโ ๐ Cars/ โ 59 individual car pages
โ โโโ ๐ cars.php
โ โโโ ๐ j-*.php โ Jalgaon cars
โ โโโ ๐ m-*.php โ Mumbai cars
โ โโโ ๐ n-*.php โ Nagpur cars
โ โโโ ๐ na-*.php โ Nashik cars
โ โโโ ๐ nm-*.php โ Navi Mumbai cars
โ โโโ ๐ p-*.php โ Pune cars
โ โโโ ๐ s-*.php โ Sambhaji Nagar cars
โ โโโ ๐ t-*.php โ Thane cars
โโโ ๐ Dealer/ โ 18 dealer pages (d0โd7 + cities)
โโโ ๐ Blog/ โ 20 blog articles
โโโ ๐ Contact/
โโโ ๐ Game/
โโโ ๐ Header/ & ๐ footer/
โโโ ๐ css/ (14 stylesheets)
โโโ ๐ js/ (18 scripts)
โโโ ๐ fonts/ (27 font files)
โโโ ๐ images/ (70 assets)
55 cars across 8 Maharashtra cities | Price range: โน1,800/day โ โน4,000/day
| City | No. of Cars | Highlights |
|---|---|---|
| ๐๏ธ Jalgaon | 7 | Chevrolet Tavera ยท Mahindra Scorpio-N ยท Toyota GR86 ยท Honda Civic |
| ๐๏ธ Pune | 10 | Mazda MX-5 Miata RF ยท Subaru BRZ ยท Honda Civic Si ยท Toyota Corolla |
| ๐๏ธ Mumbai | 7 | Hyundai Creta EV ยท Tata Tiago ยท Maruti Dzire ยท Honda City |
| ๐๏ธ Nashik | 9 | Maruti Swift ยท Tata Nexon EV ยท Hyundai Creta EV ยท Hyundai Elantra |
| ๐๏ธ Nagpur | 8 | Mahindra Scorpio-N ยท Toyota Corolla ยท Tata Nexon EV ยท Maruti Ertiga |
| ๐๏ธ Navi Mumbai | 5 | Subaru BRZ ยท Tata Nexon EV ยท Toyota Corolla ยท Honda City |
| ๐๏ธ Sambhaji Nagar | 4 | Maruti Ciaz ยท Hyundai Aura ยท Chevrolet Tavera ยท Hyundai Elantra |
| ๐๏ธ Thane | 5 | Hyundai Elantra ยท Chevrolet Tavera ยท Renault Kiger ยท Nissan Magnite |
Drivons embeds a TIDIO AI chatbot on every page, providing round-the-clock user assistance.
Chatbot Capabilities:
- ๐ฌ Guides users through the booking process step by step
- โ Instantly answers FAQs
- ๐ Explains subscription plans and pricing
- ๐ ๏ธ Provides support without manual intervention
Integrated via JavaScript embed with the TIDIO API key placed before
</body>on each page.
Drivons uses Razorpay for both car rental payments and subscription billing.
User โ "Proceed to Pay" button
โ
โผ
Backend: create_order.php
โ Razorpay Orders API called
โ order_id returned to frontend
โ
โผ
Frontend: Razorpay Checkout popup
โ User pays via UPI / Card / Netbanking
โ
โผ
Backend: verify_payment.php
โ HMAC SHA256 signature verified
โ tblpayments record created
โ
โผ
payment_success.php
โ Invoice generated, booking confirmed
โ ๏ธ Currently set to Razorpay Test Mode. Replace keys increate_order.phpandverify_payment.phpto go live.
git clone https://github.com/sakshinikam05/Drivons.gitMove to your XAMPP htdocs directory:
macOS: /Applications/XAMPP/xamppfiles/htdocs/Drivons
Windows: C:\xampp\htdocs\Drivons
- Start XAMPP โ start Apache and MySQL
- Open phpMyAdmin:
http://localhost/phpmyadmin - Create a new database:
drivons - Select
drivonsโ click Import โ upload:Backend/sql/drivons.sql - Click Go โ all 8 tables with 55 cars will be imported โ
cd Backend
composer installInstalls PHPMailer and the Razorpay PHP SDK.
Open Backend/dbcon.php and verify:
$con = mysqli_connect('localhost', 'root', '', 'drivons');Update if your MySQL uses a password.
http://localhost/Drivons/Frontend/index.php โ Main site
http://localhost/Drivons/Backend/wd.php โ Admin panel
Edit Backend/send_email.php:
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'your@email.com'; // Your Gmail address
$mail->Password = 'your_app_password'; // Gmail App Password
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;๐ก Generate a Gmail App Password: Google Account โ Security โ 2-Step Verification โ App passwords
In Backend/create_order.php and Backend/verify_payment.php:
$keyId = "rzp_test_XXXXXXXXXXXX"; // Your Razorpay Key ID
$keySecret = "XXXXXXXXXXXXXXXXXXXXXXXX"; // Your Razorpay Key SecretGet keys from dashboard.razorpay.com.
Backend/php.ini:
upload_max_filesize = 10M
post_max_size = 10M| Concern | Implementation |
|---|---|
| ๐ Password storage | password_hash() + password_verify() |
| ๐ Session security | session_start() guarded on all protected routes |
| ๐ SQL Injection | MySQLi parameterized queries throughout |
| ๐ง OTP verification | Server-side OTP stored in DB, single-use |
| ๐ File upload safety | Type/size validation; uploads stored outside web root |
| ๐ณ Payment security | Razorpay HMAC SHA256 signature verification |
| ๐ญ Role separation | Admin in Backend/, users in Frontend/ |
| ๐งน Input sanitization | htmlspecialchars() + server-side validation |
- ๐ REST API layer to decouple frontend and backend
- ๐ฑ Mobile application (Android / iOS)
- ๐ฐ๏ธ Live vehicle GPS tracking
- โ๏ธ Cloud deployment (AWS / Railway / Render)
- ๐ Advanced admin analytics dashboard
- ๐ Real-time booking notifications (WebSockets / Firebase)
- ๐ค Enhanced AI chatbot with booking intent recognition
- ๐ฎ๐ณ Multilingual support (Hindi, Marathi)
- โญ Ratings & reviews for cars and dealers
- ๐งโ
โ๏ธ Driver management and assignment system
Refer to the following folder and document for full project screenshots and visual documentation:
High-Resolution PDF: ๐ View on Google Drive
The documentation contains screenshots of all pages of the DRIVONS platform, including the user frontend, dealer inventory, AI-Bot Integration.
Sakshi Nikam Developer ยท Designer |
Built with focus on clean architecture, relational database design, real-world payment integration, and complete system workflows โ demonstrating production grade thinking in an academic context.
"Every great journey starts with a single key turn. DRIVONS was built with the belief that technology should make mobility accessible, transparent, and joyful especially for the cities that are just beginning their digital journey. So buckle up, the road ahead is full of possibilities." ๐ฃ๏ธโจ
Built with ๐ฅค & โค๏ธ by Sakshi Nikam
ยฉ DRIVONS 2025 ยท All Rights Reserved ยท Academic & Portfolio Project