COMPUTER SCIENCE PROJECT
ON
Parking Management System
(SESSION : 2025‐2026)
SUBMITTED BY : SUBMITTED TO:
Tanish Sahu Mr. Prabhat Ranjan
Dubey
COMPUTER SCIENCE PROJECT
INDEX
1. Certificate
2. Declaration
3. Acknowledgement
4. Introduction
5. Project Description
6. Python Program Codes
7. SQL Queries
8. Bibliography
9. Teacher's Remarks
CERTIFICATE
This is to certifythat,PracticalonComputer Science
is successfully completed by Tanish Sahu of
Class: XII, Division: A Roll :- 63
for the academic year 2025-2026.
Signature:
Examiner (Mr. Prabhat Ranjan Dubey)
Internal Examiner External Examiner
Principal
DECLARATION
I hereby declare that the project entitled “PARKING
MANAGEMENT SYSTEM” submitted to HERITAGE
INTERNATIONAL SCHOOL for the subject COMPUTER
SCIENCE under the guidance of “ Mr. Prabhat Ranjan Dubey”,
is a record of original work done by me. l further declare that
this project or any part of it has not been submitted elsewhere.
NAME : Tanish Sahu
CLASS : XII
SESSION : 2025-2026
ACKNOWLEDGEMENT
I would like to extend my deepest gratitude to all who played
a direct or indirect role in assisting me with this project.
First and foremost, I owe a debt of gratitude to my Computer
Science teacher, Mr. Prabhat Ranjan Dubey for offering
invaluable guidance and motivation throughout the project.
He has carefully monitored my progress, clarified my
uncertainties, and provided constructive feedback that
improved the quality of my project.
I also want to express my thanks to my classmates who were
incredibly helpful. They assisted me in various stages of the
project by providing useful insights, engaging in
brainstorming sessions, and providing support when I was
feeling down. Lastly, my heartfelt thanks go out to my
parents, for their unwavering support and seamless
coordination throughout the project.
INTRODUCTION
With the rapid growth of urbanization and the increasing number of
vehicles, parking management has become a major challenge in
modern cities. Traditional parking systems rely heavily on manual
record keeping, which is time-consuming, inefficient, and prone to
human errors. To overcome these limitations, computerized parking
management systems are widely used to manage parking spaces in
an organized and efficient manner. The Parking Management
System is a
software-based application designed to automate the process of
managing vehicle entry, exit, and parking records. This project uses
Python as the front-end programming language and SQL as the
back-end database to store and manage vehicle information
securely. The system helps in maintaining accurate records of
vehicles, reducing paperwork, and saving time for both parking
administrators and users. This system allows the user to register
vehicle details such as owner name, vehicle number, vehicle type,
entry time, and exit time. All data is stored in a structured database,
making it easy to retrieve, update, or delete records whenever
required. The use of SQL ensures data integrity and quick access
to information. The Parking Management System is
user-friendly and can be used in places such as shopping malls,
offices, residential complexes, hospitals, and educational
institutions. It improves efficiency, reduces congestion, and helps in
better utilization of parking spaces. By implementing this system,
parking operations become smoother, faster, and more reliable. In
conclusion, this project demonstrates how Python and SQL can be
integrated to develop a real-world application that solves a common
problem. The Parking Management System is an effective solution
for managing parking facilities in a systematic and digital manner.
PARKING MANAGEMENT SYSTEM
Project Description
The Parking Management System is a computer-based application developed to manage and
automate the process of vehicle parking in parking areas such as malls, offices, hospitals, and
residential complexes. The main objective of this project is to efficiently manage parking spaces,
reduce manual work, and provide accurate parking records.
This system helps in keeping track of vehicle entries and exits, parking slot availability, and parking
charges. It minimizes human effort and reduces errors that may occur during manual record
keeping. The project is developed using Python for application logic and SQL for database
management.
The system allows the user to add vehicle details such as vehicle number, owner name, vehicle
type, entry time, and exit time. Based on the duration of parking, the system can calculate parking
charges. All data is securely stored in the database for future reference.
Overall, the Parking Management System improves parking efficiency, saves time, and ensures
better management of parking facilities.
PYTHON CODE
import tkinter as tk
from tkinter import ttk, messagebox
from tkcalendar import DateEntry
import [Link]
from datetime import datetime
db = [Link](
host="localhost",
user="root",
password="tanish",
database="vehicle_parking"
)
cursor = [Link]()
[Link]("""
CREATE TABLE IF NOT EXISTS parking (
id INT AUTO_INCREMENT PRIMARY KEY,
owner_name VARCHAR(100),
vehicle_name VARCHAR(100),
vehicle_number VARCHAR(50),
entry_date DATE,
exit_date DATE,
charges DECIMAL(10, 2)
)
""")
[Link]()
def calculate_charges(entry, exit):
date_format = "%Y-%m-%d"
entry_dt = [Link](entry, date_format)
exit_dt = [Link](exit, date_format)
delta = (exit_dt - entry_dt).days
delta = max(1, delta) # Minimum 1 day charge
return delta * 50 # ₹50 per day
defsubmit_form():
owner = entry_owner.get()
vehicle = entry_vehicle.get()
number = entry_number.get()
entry = entry_date.get()
exit_ = exit_date.get()
ifnot all([owner, vehicle, number, entry, exit_]):
[Link]("Error", "All fields are required")
return
try:
charges = calculate_charges(entry, exit_)
except Exception as e:
[Link]("Error", f"Date error: {e}")
return
[Link]("""
INSERT INTO parking (owner_name, vehicle_name, vehicle_number,
entry_date, exit_date, charges)
VALUES (%s, %s, %s, %s, %s, %s)
""", (owner, vehicle, number, entry, exit_, charges))
[Link]()
[Link]("Success", f"Record added successfully. Charges:
₹{charges}")
clear_form()
load_records()
def clear_form():
entry_owner.delete(0, [Link])
entry_vehicle.delete(0, [Link])
entry_number.delete(0, [Link])
entry_date.set_date('')
exit_date.set_date('')
defload_records():
foritem in tree.get_children():
[Link](item)
keyword = search_var.get()
ifkeyword:
[Link]("""
SELECT * FROM parking
WHERE owner_name LIKE %s OR vehicle_name LIKE %s OR
vehicle_number LIKE %s
""",(f"%{keyword}%", f"%{keyword}%", f"%{keyword}%"))
el se:
[Link]("SELECT * FROM parking")
[Link]():
[Link]("", [Link], values=row)
defdelete_record():
selected=[Link]()
ifnotselected:
[Link]("Error", "Select a record to delete")
return
record_id=[Link](selected[0])['values'][0]
[Link]("DELETE FROM parking WHERE id = %s", (record_id,))
db .co mm it()
load_records()
[Link]("Deleted", "Record deleted successfully")
root = [Link]()
[Link]("Parking Lot Management System")
[Link]("1100x600")
[Link](root, text="Parking Lot Management System", font=("Arial", 18,
"bold"), bg="#003f5c", fg="white", pady=10).pack(fill=tk.X)
form_frame = [Link](root, padx=20, pady=10)
form_frame.pack(side=[Link], fill=tk.X)
entry_owner = [Link](form_frame, width=30)
entry_vehicle = [Link](form_frame, width=30)
entry_number = [Link](form_frame, width=30)
entry_date = DateEntry(form_frame, width=28, background='darkblue',
foreground='white', date_pattern='yyyy-mm-dd')
exit_date = DateEntry(form_frame, width=28, background='darkblue',
foreground='white', date_pattern='yyyy-mm-dd')
labels = ["Vehicle Owner Name:", "Vehicle Name:", "Vehicle Number:",
"Entry Date:", "Exit Date:"]
entries = [entry_owner, entry_vehicle, entry_number, entry_date, exit_date]
fori, (label, entry) in enumerate(zip(labels, entries)):
[Link](form_frame, text=label).grid(row=i, column=0, padx=10, pady=5,
sticky=tk.W)
[Link](row=i, column=1, padx=10, pady=5)
[Link](form_frame, text="Submit", command=submit_form,
bg="#003f5c", fg="white", width=20).grid(row=5, column=0, columnspan=2,
pady=10)
search_frame = [Link](root)
search_frame.pack(fill=tk.X, padx=20)
search_var = [Link]()
[Link](search_frame, textvariable=search_var, width=50).pack(side=[Link],
padx=10, pady=10)
[Link](search_frame, text="Search",
command=load_records).pack(side=[Link])
[Link](search_frame, text="Show All", command=lambda:
[search_var.set(''), load_records()]).pack(side=[Link], padx=5)
table_frame = [Link](root)
table_frame.pack(fill=[Link], expand=True, padx=20, pady=10)
cols = ("ID", "Owner Name", "Vehicle Name", "Vehicle Number", "Entry
Date", "Exit Date", "Charges")
tree = [Link](table_frame, columns=cols, show="headings")
forcol in cols:
[Link](col, text=col)
[Link](col, anchor="center", width=130)
[Link](fill=[Link], expand=True)
[Link](root, text="Delete Selected Record", command=delete_record,
bg="red", fg="white").pack(pady=10)
load_records()
[Link]()
SQL
CREATE DATABASE vehicle_parking; USE vehicle_parking; CREATE TABLE
parking (id INT AUTO_INCREMENT PRIMARY KEY, owner_name
VARCHAR(100), vehicle_name VARCHAR(100), vehicle_number
VARCHAR(50),
entry_date DATE, exit_date DATE, charges DECIMAL(10,2));
BIBLIOGRAPHY
Textbook (class12)
Wikipedia
Reference Articles from Various Blogs
[Link]
TEACHER'S REMARKS
Name : Tanish Sahu
Class : 12
School - Heritage International school
Signature:
Examiner (Mr. Prabhat Ranjan Dubey)
Internal Examiner External Examiner