A comprehensive web-based vehicle rental platform built with PHP, MySQL, and Python, supporting multiple vehicle types (cars, bikes, buses, boats, trucks) with advanced features like fraud detection, location-based booking, driver management, and dynamic pricing.
- Multi-Vehicle Support: Rent cars, bikes, buses, boats, and trucks
- User Management: Customer registration, login, profile management
- Driver Management: Driver registration, verification, and dashboard
- Provider System: Vehicle provider accounts with vehicle management
- Location-Based Booking: Hub-based vehicle availability and location filtering
- Dynamic Pricing: Real-time pricing based on vehicle availability
- Receipt Generation: Digital receipts with secure tokens
- Fraud Detection: ML-based fraud detection system with Flask backend
- Payment Processing: Secure payment gateway integration
- Admin Dashboard: Comprehensive admin controls and management
- Booking Management: Full booking lifecycle management
- User Communications: In-app messaging and notifications
- Demand Forecasting: Data-driven insights for vehicle demand
- PHP: 7.4 or higher
- MySQL: 5.7 or higher
- Python: 3.8 or higher (for ML services)
- Web Server: Apache with mod_rewrite enabled
- OS: Windows, Linux, or macOS
- MySQLi (mysqli)
- PDO
- Session support
- JSON support
- Flask 2.3.0+
- scikit-learn
- pandas
- numpy
- python-dotenv
git clone https://github.com/yourusername/VEHICLE_RENTAL_SYSTEM.git
cd VEHICLE_RENTAL_SYSTEM- Open phpMyAdmin or MySQL client
- Create a new database:
CREATE DATABASE vehicle_rental_system;- Import the database schema:
mysql -u root -p vehicle_rental_system < database/database_complete.sql- Copy the database configuration:
cp includes/config_example.php includes/config.php- Edit
includes/config.phpwith your database credentials:
$db_host = "localhost";
$db_user = "root";
$db_password = "your_password";
$db_name = "vehicle_rental_system";- Copy settings file (if needed):
cp settings.json.example settings.json- Navigate to fraud detection ML directory:
cd fraud_detection_ml- Create Python virtual environment:
python -m venv venv- Activate virtual environment:
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate- Install dependencies:
pip install -r requirements.txt- Configure environment:
cp .env.example .env
# Edit .env with your database credentials- Start the fraud detection service:
python app.pyThe service will run on http://localhost:5001
Apache Configuration (add to your .htaccess or virtual host):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /VEHICLE_RENTAL_SYSTEM/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /VEHICLE_RENTAL_SYSTEM/index.php [L]
</IfModule>mkdir -p uploads/user_photos
mkdir -p uploads/user_documents
mkdir -p uploads/provider_documents
mkdir -p uploads/driver_documents
chmod 755 uploads/*- Start Apache and MySQL services
- Navigate to:
http://localhost/VEHICLE_RENTAL_SYSTEM/
VEHICLE_RENTAL_SYSTEM/
βββ admin/ # Admin panel and management
β βββ index.php # Admin dashboard
β βββ driver_management.php # Driver management
β βββ fraud_detection.php # Fraud detection panel
β βββ bookings.php # Booking management
β βββ messages.php # Message management
β βββ ...
β
βββ fraud_detection_ml/ # Python ML Service
β βββ app.py # Flask API server
β βββ train_model.py # Model training script
β βββ requirements.txt # Python dependencies
β βββ .env.example # Environment template
β βββ ...
β
βββ includes/ # PHP includes & utilities
β βββ config.php # Database configuration
β βββ session_helper.php # Session management
β βββ fraud_detection_service.php # Fraud detection interface
β βββ location_helper.php # Location & hub utilities
β βββ ...
β
βββ database/ # Database migration files
β βββ database_complete.sql # Main database schema
β βββ add_driver_system.sql # Driver system schema
β βββ add_receipt_system.sql # Receipt system schema
β βββ ...
β
βββ uploads/ # User uploaded files
β βββ user_photos/ # User profile photos
β βββ user_documents/ # User KYC documents
β βββ provider_documents/ # Provider documents
β βββ driver_documents/ # Driver documents
β
βββ js/ # JavaScript files
β βββ jquery.js # jQuery library
β βββ main.js # Main scripts
β
βββ img/ # Images & assets
β βββ logo.png # Application logo
β βββ hero.jpg # Hero images
β βββ ...
β
βββ fonts/ # Custom fonts
βββ cars/ # Car-specific resources
β
βββ User Interfaces/
β βββ index.php # Home page
β βββ login.php # User login
β βββ signup.php # User registration
β βββ dashboard.php # User dashboard
β βββ cars.php # Car listing
β βββ bikes.php # Bike listing
β βββ buses.php # Bus listing
β βββ boats.php # Boat listing
β βββ trucks.php # Truck listing
β βββ book_car.php # Car booking
β βββ book_bike.php # Bike booking
β βββ receipt.php # Receipt display
β βββ ...
β
βββ Provider Interfaces/
β βββ provider_login.php # Provider login
β βββ provider_signup.php # Provider registration
β βββ provider_dashboard.php # Provider dashboard
β βββ provider_request_vehicle.php # Vehicle requests
β βββ ...
β
βββ Driver Interfaces/
β βββ driver_login.php # Driver login
β βββ driver_signup.php # Driver registration
β βββ driver_dashboard.php # Driver dashboard
β βββ ...
β
βββ db.php # Database connection
βββ header.php # Header include
βββ footer.php # Footer include
βββ README.md # This file
- URL:
http://localhost/VEHICLE_RENTAL_SYSTEM/Adminlogin.php - Default Username: admin
- Default Password: admin123
Note: Change default credentials immediately after setup
Database connection configuration:
$db_host = "localhost"; // MySQL host
$db_user = "root"; // MySQL user
$db_password = ""; // MySQL password
$db_name = "vehicle_rental_system"; // Database nameML service configuration:
FLASK_ENV=production
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=
DB_NAME=vehicle_rental_system
DB_PORT=3306
LOG_LEVEL=INFOThe application uses the following main tables:
users- Customer accountsproviders- Vehicle provider accountsdrivers- Driver accountscars,bikes,buses,boats,trucks- Vehicle inventorybookings- Booking recordspayments- Payment transactionsadmin- Admin accountshubs- Location hubs for vehicle availabilitycontact_messages- Contact form submissions
See database/ directory for complete schema files.
- Admin Panel β Add Vehicle
- Select vehicle type (Car, Bike, Bus, Boat, Truck)
- Enter vehicle details, pricing, and hub location
- Upload vehicle images
- Submit for approval
- Available - Can be booked
- Assigned - Currently booked
- Maintenance - Not available
- Archived - Removed from inventory
The system includes payment gateway integration:
- Credit/Debit card payments
- Secure payment processing
- Receipt generation and storage
- Payment history tracking
- Overview statistics
- Recent bookings
- Active users and drivers
- Revenue analytics
- View and manage customer accounts
- Approve/reject registrations
- Handle user disputes
- Add/edit/delete vehicles
- Set pricing and availability
- Manage vehicle status
- Approve driver registrations
- Verify driver documents
- Assign vehicles to drivers
- Track driver performance
- Real-time fraud alerts
- Suspicious transaction flagging
- Booking pattern analysis
- ML-based risk scoring
- Real-time transaction analysis
- Machine learning-based risk assessment
- Pattern recognition for suspicious bookings
- Automated alerts and reporting
cd fraud_detection_ml
python app.pyService endpoints:
POST /api/analyze- Analyze booking for fraudGET /api/health- Service health check
POST /confirm_booking.php- Create new bookingGET /receipt.php- Get booking receiptPOST /process_payment.php- Process payment
POST /driver_signup.php- Driver registrationPOST /driver_login.php- Driver authenticationGET /driver_dashboard.php- Driver info
POST /provider_signup.php- Provider registrationGET /provider_dashboard.php- Provider infoPOST /provider_request_vehicle.php- Request vehicle
Visit: http://localhost/VEHICLE_RENTAL_SYSTEM/test_payment.php
This page allows testing the payment system without making real transactions.
- Verify MySQL is running
- Check credentials in
includes/config.php - Ensure database exists
- Check payment gateway configuration
- Verify HTTPS is enabled
- Check firewall rules
- Verify Python installation
- Check if service is running on port 5001
- Review error logs in
fraud_detection_ml/logs/
- Verify
uploads/directory permissions (755) - Check PHP upload size limits in
php.ini - Ensure directories are writable
- Email: support@carrentalsystem.com
- Website: https://yourwebsite.com
- Issues: https://github.com/sanket7107/VEHICLE_RENTAL_SYSTEM/issues
This project is licensed under the MIT License - see LICENSE file for details.
- Lead Developer: Sanket Kanase
- Contributors: Tejaswini Mule Vaishnavi Mali Pradnya Nikam
- β Core rental system
- β Multi-vehicle support
- β Driver management
- β Provider system
- β Fraud detection ML
- β Admin dashboard
- β Location-based booking
- Mobile app (iOS/Android)
- Advanced analytics
- Vehicle tracking (GPS)
- Subscription plans
- Insurance integration
- Multi-language support
- Change Default Credentials: Update admin/user default passwords immediately
- Enable HTTPS: Use SSL/TLS certificates in production
- Input Validation: All user inputs are validated on both client and server
- SQL Injection Prevention: Using prepared statements throughout
- Session Security: Implement secure session handling
- File Uploads: Restricted file types and secure storage
- API Security: Implement rate limiting and API authentication
- Environment Variables: Never commit
.envfiles with real credentials
- Do not commit API keys or secrets. Store secrets in environment variables or a secure secrets manager.
- Example: set
HF_API_KEYfor the chatbot service and never hard-code it inchatbot.php. - Use the provided
.env.exampleas a template and add a.envfile locally..envis excluded by.gitignore. - If a secret is accidentally committed, rotate it immediately and remove it from history (we can help with that).
For detailed documentation:
- Admin Guide: See
Guids/directory - Driver System:
Guids/DRIVER_SYSTEM_QUICK_START.md - Receipt System:
Guids/RECEIPT_SYSTEM_COMPLETE.md - Location-Based Booking:
Guids/LOCATION_BASED_BOOKING_GUIDE.md
- Clone repository
- Setup MySQL database
- Configure database credentials
- Create upload directories
- Configure web server
- Test home page access
- Create test admin account
- Test user registration
- Test vehicle booking
- Setup and test ML service
- Review security settings
- Deploy to production
Made with β€οΈ by ZHOOMiGO
Last Updated: May 2026