0% found this document useful (0 votes)
52 views31 pages

Luxury Car Rental System Project Overview

The document details a Computer Science project by Yanshik on a Luxury Car Rental System, showcasing his understanding of programming concepts and database management. It includes a certificate of completion, acknowledgments, project contents, and a comprehensive overview of the system's features, database structure, and functionalities. The project aims to enhance car rental operations through efficient management of bookings, customer details, and billing processes.

Uploaded by

manu pro gaming
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views31 pages

Luxury Car Rental System Project Overview

The document details a Computer Science project by Yanshik on a Luxury Car Rental System, showcasing his understanding of programming concepts and database management. It includes a certificate of completion, acknowledgments, project contents, and a comprehensive overview of the system's features, database structure, and functionalities. The project aims to enhance car rental operations through efficient management of bookings, customer details, and billing processes.

Uploaded by

manu pro gaming
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

Vivekanand Public School

Computer Science Project


On Luxury Car Rental System
Session: 2024-25
BY Yanshik

Name: Yanshik
Class: XII-B
Topic: Luxury Car Rental System
Roll No:
Academic Year: 2024-25
CERTIFICATE

This is to certify that Yanshik, a diligent student of class 12th


– B, has successfully completed the Computer Science project
on the topic: Luxury Car Rental System. This project
showcases his understanding and application of various
programming concepts, as well as his ability to implement a
real-world solution.

Under the guidance of Mrs. Anshu Sharma, Yanshik has


demonstrated exceptional skills and dedication throughout
the academic year 2024-25. His work reflects a thorough
understanding of the subject matter and a commitment to
excellence.

We commend Yanshik for his hard work and effort in


completing this project.

Signature of Signature of
Internal Examiner: External Examiner

------------------------- -----------------------
ACKNOWLEDGMENT

I am deeply grateful to all those who have contributed to the


successful completion of my Computer Science project on the topic:
Luxury Car Rental System.

Firstly, I extend my heartfelt thanks to my computer science teacher,


Mrs. Anshu Sharma, for her invaluable support and guidance
throughout this project. Her expertise and insights were instrumental
in helping me understand complex programming concepts, and her
encouragement motivated me to push forward at every step.

I would also like to thank our respected principal, Mrs. Nancy


Khanna, for fostering an environment that encourages innovation and
exploration in technology. The opportunities provided at our school
have allowed me to develop my skills and pursue this project with
confidence.

My sincere gratitude goes to the faculty members whose dedication


and teachings made the theoretical foundations of this project more
accessible. Their contributions have been essential in enriching my
understanding of the subject.

I am profoundly thankful to my family for their unwavering support


and encouragement. Their assistance in providing resources, as well
as their patience and motivation, played a crucial role in the
completion of this project.

Lastly, I am grateful to my friends who offered their support, shared


their insights, and provided constructive feedback. Their collaboration
and encouragement were invaluable in refining various aspects of this
project.

Thank you to everyone who made this project a rewarding learning


experience.
Contents
1. Introduction of the Project
o Overview of the Luxury Car Rental System, its goals, and its
importance in managing car rental operations effectively.
2. Files Imported in Project
o A comprehensive list of libraries and modules utilized in the
project, including:
 MySQL Connector: For connecting to the MySQL database.
 Any additional libraries required for implementing the car
rental functionalities.
3. Tables Created in MySQL
o Description of the tables created for the project, including:
 Employee: Stores details of employees and their roles.
 Car: Contains information about available cars, including
model, rental rates, and availability status.
 Customer: Holds customer information for booking and
management.
 Booking: Records booking transactions and rental details.
 Bill: Maintains records of billing transactions.
4. Python Coding
o Explanation of the code structure and key functionalities
implemented, such as:
 Functions for adding, viewing, and deleting records for
customers, cars, and employees.
 The booking process, including car availability checks and
updates.
 Bill generation and transaction management for rentals.
 Employee management features.
5. Outputs of the Project
o Sample outputs demonstrating the functioning of the system,
including:
 Screenshots or descriptions of user interactions.
 Examples of generated rental bills, booking confirmations,
and employee records.
6. Bibliography
o References to books, articles, and online resources that were
consulted during the project.
Introduction
The Luxury Car Rental System project is developed to streamline the
management of car rental operations, enhancing overall efficiency and
customer satisfaction. This system leverages a MySQL database to manage
essential information related to car inventory, customer details, employee
roles, booking transactions, and billing processes.

Key Features:

Database Structure:

 Car Table (cars): This table contains detailed information about the cars
available for rental, including each car's unique ID, model, rental price,
and availability status. It ensures accurate tracking of the car inventory
and facilitates easy updates to car details.
 Customer Table (customers): This table stores essential information
about customers, such as customer ID, name, contact details, and
address. These records are vital for booking management, generating
accurate invoices, and maintaining customer profiles to enhance service
quality.
 Employee Table (employees): The employee table records details of
employees, including employee ID, name, role (e.g., receptionist,
manager, mechanic), and assigned shifts. This organization of staff roles
and schedules supports smooth daily operations and effective
management of employee responsibilities.
 Booking Table (bookings): This table logs booking information for each
transaction, including booking ID, car ID, customer ID, rental dates, and
status. It enables precise tracking of car rentals, ensuring that availability
and scheduling are managed efficiently.
 Bill Table (bills): This table captures billing details for each transaction,
including bill ID, customer ID, total amount, and transaction date. By
maintaining detailed billing records, the system supports transparency
and accuracy in financial transactions.

Administrator Capabilities:

 Car Inventory Management: Administrators can add new cars to the


fleet, update car details, view all available cars, and manage their rental
status. This ensures efficient inventory management and maximizes car
availability.
 Customer Management: The system allows administrators to register
new customers, view and manage customer details, and maintain
accurate customer records, which are critical for booking and invoicing
purposes.
 Employee Management: Administrators can add and manage employee
information, assign roles (receptionist, manager, mechanic, etc.), and
schedule shifts. This helps in organizing staff assignments to ensure
optimal operational support.
 Booking Process: Administrators can handle car bookings, check car
availability, process reservations, and update rental statuses. This
streamlines the booking process and provides customers with efficient
service.
 Billing Process: Administrators can generate detailed bills for completed
rentals, record transaction details, and manage billing records within the
system. This enhances transparency in transactions and simplifies
tracking of revenue.
 Reporting: The system provides detailed reports on car availability,
current bookings, customer profiles, employee records, and financial
summaries. These insights allow administrators to make informed
decisions based on accurate data.

Purpose:

The purpose of this project is to improve car rental operations by offering an


efficient, centralized way to manage car inventory, track customer and
employee information, and handle bookings and billing. Through this system,
administrators can perform essential tasks with greater precision and ease,
ensuring a smooth rental process and enhanced customer satisfaction.

This project offers a comprehensive solution for managing a luxury car rental
service, making it easier to oversee bookings, manage car availability, and
generate bills with accuracy. The system not only boosts operational efficiency
but also improves the customer experience by maintaining up-to-date and
accessible records. The billing and reporting features further contribute to
transparency, enabling better financial tracking and informed decision-making
in a systematic and user-friendly manner.
FILES IMPORTED IN PROJECT
MySQL Connector:

 Used for establishing a connection between Python and MySQL databases.


 Allows executing queries and managing transactions with the MySQL server.

FUNCTIONS USED IN PROJECT

connect_to_mysql():

 Establishes a connection to the MySQL server using the specified credentials (host,
user, password, and database).
 Returns the connection object to interact with the MySQL database.

setup_database():

 Creates the LuxuryCarRental database and sets up essential tables (like Users).
 Ensures that the database and tables are created if they don’t already exist.
 Additional tables for Cars, Members, and Bookings can be added as required.

cursor():

 Creates a cursor object to interact with the database.


 The cursor is used to execute SQL queries like creating tables, inserting records, or
fetching data.

fetchall():

 Fetches all rows from the result of a query execution.


 Used for retrieving multiple records from the database, such as fetching customer or
car details.

commit():

 Commits the current transaction to the database.


 Ensures any changes (like adding or deleting data) are saved to the database.

fetchone():

 Fetches a single row from the result of a query execution.


 Used for retrieving specific records, such as validating a user's ID or checking if a
product exists.
Tables Created in MySQL

Database: LuxuryCarRental

TABLE: Users

 Fields:
o User ID (Primary Key): Unique identifier for each user.
o User Name: Name of the user.
o Password: Password for the user to access the system.

TABLE: Cars
 Fields:
o Car ID (Primary Key): Unique identifier for each car.
o Car Model: The model of the car.
o Car Make: The make of the car.
o Car Year: The manufacturing year of the car.
o Car Price: The price of the car per day for rent.
o Car Availability: A status indicating whether the car is available for booking.

TABLE: Bookings

 Fields:
o Booking ID (Primary Key): Unique identifier for each booking.
o Customer ID (Foreign Key): Links to the User ID from the Users table.
o Car ID (Foreign Key): Links to the Car ID from the Cars table.
o Booking Date: The date when the car was booked.
o Return Date: The date when the car is expected to be returned.
o Booking Status: Status of the booking (e.g., Pending, Confirmed, Completed).
Python Source Code:

import mysql.connector as mysql

# Database connection details

DB_NAME = "LuxuryCarRental"

USER = "root"

PASSWORD = "aksh9906"

# Connect to MySQL

def connect_to_mysql():

return mysql.connect(host="localhost", user=USER, password=PASSWORD,


database=DB_NAME)

# Database setup function

def setup_database():

conn = mysql.connect(host="localhost", user=USER,


password=PASSWORD)

cursor = conn.cursor()

# Create database and tables if they don't exist

cursor.execute(f"CREATE DATABASE IF NOT EXISTS {DB_NAME}")

cursor.execute(f"USE {DB_NAME}")
# Example table setup for Users (other tables can be added similarly)

cursor.execute("""

CREATE TABLE IF NOT EXISTS Users (

`User ID` VARCHAR(50) PRIMARY KEY,

`User Name` VARCHAR(50),

`Password` VARCHAR(50)

""")

# Additional tables for Cars, Members, and Bookings can be created here

conn.commit()

cursor.close()

conn.close()

print("Database and tables created successfully!")

# Call setup function at the beginning

setup_database()

def display_menu():

print("#" * 80)

print("#" * 80)

print(" Welcome to Luxury Car Rentals System By Mr. Zaid and


Yanshik")
print("#" * 80)

print("#" * 80)

print("Press 1 - Add Customer")

print("Press 2 - Show Customer")

print("Press 3 - Delete Customer")

print("Press 4 - SHOW ALL Customers")

print("Press 5 - ADD CAR")

print("Press 6 - SHOW ALL CARS")

print("Press 7 - Book a Car")

print("Press 8 - Show Bookings")

print("Press 9 - Return Car")

print("Press 10 - ADD EMPLOYEE")

print("Press 11 - SHOW ALL EMPLOYEES")

print("Press 12 - Fire EMPLOYEE")

print("Press 13 - Generate the Bill")

print("Press 14 - Exit")

print("$" * 80)

return int(input("Enter your choice: "))

def main():

print("Connection successful!")

while True:
choice = display_menu()

if choice == 1:

# addCustomer() function call

pass

elif choice == 2:

# showCustomer() function call

pass

elif choice == 3:

# deleteCustomer() function call

pass

elif choice == 4:

# showAllCustomers() function call

pass

elif choice == 5:

# addCar() function call

pass

elif choice == 6:

# showAllCars() function call

pass

elif choice == 7:

# bookCar() function call

pass

elif choice == 8:
# showBookings() function call

pass

elif choice == 9:

# returnCar() function call

pass

elif choice == 10:

# addEmployee() function call

pass

elif choice == 11:

# showAllEmployees() function call

pass

elif choice == 12:

# fireEmployee() function call

pass

elif choice == 13:

# generateBill() function call

pass

elif choice == 14:

print("Thank you for using Luxury Car Rentals.")

break

else:

print("Invalid choice. Please try again.")

if __name__ == "__main__": main()


Outputs:

Finally, I conclude my work by presenting the results of the Luxury Car Rental
System project. This includes demonstrating the effective management of car
rental operations, showcasing the user-friendly interface, and highlighting the
smooth processes for customer management, car booking, employee
management, and billing. The system ensures efficient car rentals, tracking of
bookings, and an organized approach to managing cars, employees, and
customers, ultimately contributing to a seamless and enjoyable experience for
both customers and administrators.

Python Outputs:

Main Screen:
ADDING NEW CUSTOMER:
Showing a Customer:
Deleting a Customer:
Showing all customers:
Adding a car:
Showing all cars
Booking a Car:
Show all Bookings
Returning a car:
Adding an Employee:
Showing all Employees:
Firing Employee:
Generating the Bill:
Exiting the Program:
MySQL:

DATA GENERATED TABLE IN THE TABLE: Customers

DATA GENERATED TABLE IN THE TABLE: Cars

DATA GENERATED TABLE IN THE TABLE: Bookings


Bibliography
I. Online Resources:

1. Python Software Foundation. Python Documentation.


2. Learn Python Interactive Tutorial.
3. Tutorials Point. Python Tutorials.
4. GeeksforGeeks. Python Programming Language.
5. W3Schools. SQL Tutorial for Beginners.
6. Stack Overflow. Car Rental System Query Solutions.

II. Software:

1. Oracle Corporation. MySQL.


2. Python Software Foundation. Python.
3. MySQL Workbench. MySQL GUI Tool.
4. XAMPP. Local Web Server for Database Management.

III. Books:

1. Preeti Arora. Computer Science with Python for Class 11th & 12th. Sultan Chand &
Sons.
2. Arihant. Computer Science for Class 12th. Arihant Publications.
3. Ramez Elmasri and Shamkant B. Navathe. Fundamentals of Database Systems.
Pearson.

You might also like