Documentation For Car-Rental Website
Documentation For Car-Rental Website
1. Project Overview
. Introduction
This documentation provides an overview of the car rental website built using PHP. It includes
details about the system structure, features, installation steps, and how to use the application
effectively.
1.1. Purpose
The car rental website allows users to browse available cars, make reservations, and manage
their bookings. It is designed to be user-friendly, secure, and efficient for both customers and
administrators.
The primary purpose of the Car Rental Website is to provide a platform where customers can:
Admins can manage the car listings, monitor bookings, and handle user accounts.
1.2 Scope
The main scope of a car rental website using PHP is to allow users to search for, book, and pay
for cars online while also giving admins the ability to manage cars, bookings, and customer
information. The website should be easy to use, secure, and provide all the tools needed for
smooth car rental transactions.
2. Functional Requirements
2.1 User Roles
Car Search: Users can search for available cars based on different filters (e.g., car type,
rental date, location).
Booking System: Users can select a car, choose rental dates, and confirm booking.
Account Management: Users can create and manage their profiles.
Payment Integration: Integration with payment gateways for secure payment
processing.
Booking History: Users can view their past and upcoming bookings.
Manage Cars: Admin can add, edit, or remove cars from the available fleet.
Manage Bookings: Admin can view and manage customer bookings.
Manage Users: Admin can view and manage customer accounts.
Reports: Admin can view reports on rental activities and generate statistics
Functionality: New customers can create an account on the website to make bookings and
access personalized features.
Features:
o Registration form with fields like Name, Email, Password, and Phone number.
o Password hashing for secure storage.
o Email verification upon registration to confirm the user’s email address.
Functionality: Registered users can log in to access their accounts and make bookings.
Features:
o Email and password authentication.
o
Functionality: Customers can select a car and make a booking by providing rental start and end
dates.
Features:
o A form to select the rental start and end dates.
o A calculation of the total price based on the selected rental duration.
o
Functionality: After confirming a booking, the customer can proceed to make a payment
through an integrated payment gateway (e.g., PayPal, Stripe).
Features:
o Display of payment details such as amount, car details, and booking dates
Functionality: Customers can view and update their profile information (name, email, phone).
Features:
o Edit profile information.
o Update password.
Functionality: Customers can view their past and upcoming bookings with their details.
Features:
o Booking status (Pending, Confirmed, Completed).
o Car details, rental period, and total price.
Functionality: Customers can cancel a booking (if allowed based on the cancellation policy).
Features:
o Cancel the booking and update the status to "Cancelled."
2.5 Logout
2.6 Authentication
Authentication verifies the identity of users trying to access the website or specific features. This
process typically involves validating a user’s credentials (like email/username and password).
When a user first visits the website, they need to register to access the car rental services.
Registration Form:
o Name
o Email
o Password (hashed for security)
o Phone number (optional)
Access control ensures that only authorized users can access certain pages or features of the
website (e.g., booking a car, managing user data, etc.).
3. Non-Functional Requirements
3.1 Security
3.2 Usability
The system interface should be intuitive and easy for both the owner and customers to navigate.
Customers should be able to place orders with minimal steps.
4. Technical Requirements
1.2. Technologies Used
1. Homepage → Login/Register → Browse Cars → Select Car & Booking → Payment → Booking
Confirmation → View/Cancel Booking → Logout
1. Admin Login → Manage Cars → Manage Bookings → Manage Users → Monitor Payments →
View Reports → Logout