0% found this document useful (0 votes)
28 views20 pages

Maaz PWP - Pagenumber

The document is a micro project report on a Book-store Management System developed using Python, aimed at automating operations in a bookshop. It outlines the project's introduction, aims, intended outcomes, methodology, resources required, and an action plan for implementation over eight weeks. The system is designed to manage book inventories, facilitate transactions, and generate reports, addressing common challenges faced in manual book management.

Uploaded by

sayedshaad02
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)
28 views20 pages

Maaz PWP - Pagenumber

The document is a micro project report on a Book-store Management System developed using Python, aimed at automating operations in a bookshop. It outlines the project's introduction, aims, intended outcomes, methodology, resources required, and an action plan for implementation over eight weeks. The system is designed to manage book inventories, facilitate transactions, and generate reports, addressing common challenges faced in manual book management.

Uploaded by

sayedshaad02
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/ 20

A

Micro Project Report on

Book-store Management System


Course Name: PROGRAMMING WITH PYTHON (PWP-22616)
CO-6-I

Submitted by
Sayed Shaad (Enrollment No.: 23611170320)
Sayyed Mannan. (Enrollment No.: 23611170316)
Md Maaz. (Enrollment No.: 23611170315)
Sayed Nihal. (Enrollment No.: 32611170324)
Sayed Safi. (Enrollment No.: 23611170317)

Guided By
Sayyed waliulla

Department of Computer Engineering


Jamia Polytechnic
Akkalkuwa – 425415
[2024- 25]
MAHARASHTRA STATE BOARD OF
TECHNICAL EDUCATION

Certificate
This is to certify that following student of Sixth Semester of Diploma in
Computer Engineering of Institute Jamia Polytechnic, Akkalkuwa (Institute
Code: 0366) have satisfactorily completed the Micro Project work in Course
PROGRAMMING WITH PYTHON (PWP-22616) for the academic year 2024 –

2025 as prescribed in the curriculum.

Roll Enrollment Seat No. Student Name


No. No.
40 23611170320 SAYED SHAAD
35 23611170315 MD MAAZ
36 23611170316 SAYED MANNAN
44 23611170324 SAYED NIHAL
37 23611170317 SAYED SAFI

Place: ………………………….

Date: ………………………….

Subject Teacher Head of the Department Principal

Seal of Institute
\
Python Micro Project TYCO Book-store Management System

PART A
Book-store Management System

1.0 Brief Introduction


Book Store Management System is the web application to automate all kinds of Operations
in the book shop. The purpose of this software is to manage the books in the book Store. Generally,
it includes the Order Processing, Stock Management and Accounts Management. We developed this
software to maintain records of sales, purchase and staff Records. This project developed in python.
Here we are try to develop such type system which Is provide the automation on the any type of the
bookshop. That means a shop which has the Type system which provides the facility to the customers
of the shop to purchase the books From the shop without any complexity.
At the start of the business, the books store owner buys the book from the dealers. All The
name of the books is noted down in the software along with rate. In the present system user Has to
do all work manually. In present system during issuing order of more stock, the product Register is
required to check to availability of stock in hand. And it takes time to check records.
The amount paid to a particular dealer from whom the book was bought is also saved in The
dealers tab. In present book store management system, to generate the reports based on the
Management requirement, will require extensive searching of records. In case of Supplier and Staff
Record Management, the registers need to be updated time to time as information (like Phone No.,
Address) changes frequently. The stock section gives the total number of book Stocks available in the
store. When a customer buys a book from the store, a bill is generated. The bill contains the name of
the book purchased, rate per book, quantity, total rate and the Total amount. For example any
customer want to purchase any book from the shop than first of All customer just choose the stream
of the book than he/she can see the more than one type of Books there and then he/she can choose
the specific book from there. And then purchase it by Paying price on bookshop cash counter and
receives its invoice.

2.0 Aim of the Micro-Project


Book-store Management System
1. Efficient Book Management – To store, update, and manage book records, including title, author,
price, and availability.
2. User-Friendly Transactions – To facilitate book purchasing, borrowing, and returning with a simple
interface.

3.0 Intended Course Outcomes


1. Apply Database Management – Implement CRUD operations to manage book records efficiently.

JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

1
\
Python Micro Project TYCO Book-store Management System

2. Develop Functional Application – Build a user-friendly system for book transactions and inventory
tracking.

4.0 Literature Review


Book Store Management System
1. Database Management – Uses SQLite/MySQL for storing and managing book records efficiently.
2. GUI Integration – Implements Tkinter/PyQt for easy book search, sales, and inventory tracking.

5.0 Proposed Methodology

• Requirement Analysis – Identify features like book inventory, sales, and user
management.
• Database Design – Use SQLite/MySQL to store book details, users, and transactions.
• GUI Development – Implement Tkinter/PyQt for an interactive interface.
• Functionality Implementation – Develop modules for adding, updating, searching, and
selling books.
• Testing & Debugging – Ensure system reliability through rigorous testing.
• Deployment – Finalize and deploy the system for real-world use.

6.0 Resources Required (major resources like raw material, tools, software etc.)
S. No. Name of Specifications Qty Remarks
Resource/material
1 PC Core i3, RAM 4GB 1
2 Operating System Windows 10 or 11 1
3 Software Android Studio 1

7.0 Action Plan (Sequence and time required for major activities for 8 Weeks)
S. Details of activity Planned Planned Name of
No. Start date Finish date Responsible Team
Members
1 Problem definition 13/01/2025 18/01/2025 Write here member
2 Analysis 20/01/2025 25/01/2025 name
3 Analysis 27/01/2025 01/02/2025
4 Design Diagrams 03/02/2025 08/02/2025
5 Coding and testing 10/02/2025 15/02/2025
6 Coding and testing 17/02/2025 22/02/2025
7 Coding and testing 24/02/2025 01/03/2025
8 Coding and testing 03/03/2025 08/03/2025

JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

2
\
Python Micro Project TYCO Book-store Management System

9 Report writing 10/03/2025 15/03/2025


10 Report writing 17/03/2025 22/03/2025
11 Report writing 24/03/2025 29/03/2025
12 Demo and Submission 31/03/2025 12/04/2025

JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

3
\
Python Micro Project TYCO Book-store Management System

PART B – Micro-Project Report

Book-Store Management System


1.0 Rationale
Problem Statement: In many libraries, schools, and institutions, managing a large collection
of books efficiently is often a challenge. The process of cataloging, tracking, and borrowing books can
be cumbersome and prone to human error when done manually. Lack of a streamlined system often
results in misplaced books, late returns, and difficulty in tracking availability. In addition, users
(students, staff, or library visitors) face challenges when searching for books, checking availability, or
reserving them.

Purpose of the Project: The Book Management System aims to address these challenges by creating
a digital platform for the efficient management of books in a library or institution. The system will
allow users to:

• Easily search for and browse books by title, author, genre, etc.
• Borrow and return books while keeping track of their due dates.
• Manage and categorize book inventories, keeping records of book statuses (borrowed,
available, reserved, etc.).
• Generate reports for administrative tasks like late fees, overdue books, and usage statistics.
2.0 Course Outcomes Addressed
i. Addressed by: Using classes like Book, User, and Admin to structure the system.

ii. Addressed by: Creating and managing a database to store book and user information

3.0 Literature Review


Book Management System
A Book Management System (BMS) is a software solution used to automate the management of books in a
library or any organization that deals with large collections of books. It simplifies tasks like cataloging,
searching, borrowing, and returning books. In this literature review, we will discuss previous works and existing
solutions that have contributed to the development of Book Management Systems, highlighting the evolution,
key technologies, and challenges in building efficient systems.

JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

4
\
Python Micro Project TYCO Book-store Management System

challenges in building efficient systems.

References:
• https://partheniumprojects.com/bookstore-management-system/#:~:text =
Bookstore %20 m

anagement%20system%20report%20in%20python%20is%20an%20attempt%
20to,reservin
g%20and%20purchasing%20andof%20books
• https://github.com/jedaademola/Bookstore-Management-System
• https://arxiv.org/pdf/1708.01730
• http://books-project.org/docs/Books-Project.pdf
JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

5
\
Python Micro Project TYCO Book-store Management System

• https://projectnotes.org/it-
projects/bookstore-management-system-in- python-with - source-
Code/

4.0 Actual Methodology Followed


The actual methodology followed in a Book Management System project depends on the approach
chosen for development. Below are the common methodologies and how they are applied:

• Defining and Analyzing the Problem. In this step, a programmer studies the problem and
completes requirement analysis
• Designing the Algorithm
• Coding or Writing the Program
• Test Execution
• Debugging
• Final Documentation.

As each member wanted to learn all the steps, we have done all the activities as a team, each member
was involved in every step.

4.1 Algorithm:

Steps 1.:Start – Initialize the system and database connection.


Steps 2.:User Authentication – Verify user login credentials (admin, librarian, or member).
Steps 3.:Book Management – Add, update, delete, or search for books in the database.
Steps 4.:User Management – Register, update, or remove user accounts.
Steps 5.:Borrow & Return – Allow users to borrow books and track return dates.
Steps 6.:Fine Calculation – Check due dates and apply late fees if necessary.
Steps 7.:Generate Reports – Display borrowed books, available books, and user activities.
Steps 8.:Stop.

5.0 Actual Resources Used (Mention the actual resources used).

S. No. Name of Specifications Qty Remarks


Resource/material
1 PC Core i3, RAM 4GB 1
2 Operating System Windows 11 1

JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

6
\
Python Micro Project TYCO Book-store Management System

3 Software Vs code 1

JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

7
\
Python Micro Project TYCO Book-store Management System

6.0 Outputs of the Micro-Project


6.1 Coding
1. Bookstore.py

from tkinter import *


import backend
window = Tk()
def get_selected_row(event):
try:
global select_tup
ndex=list1.curselection()[0]
select_tup = list1.get(index)
e1.delete(0,END)
e1.insert(END, select_tup[1])
e2.delete(0,END)
e2.insert(END, select_tup[2])
e3.delete(0,END)
e3.insert(END, select_tup[3])
e4.delete(0,END)
e4.insert(END, select_tup[4])
except IndexError:
pass
def view_command():
list1.delete(0,END)
for row in backend.view():
list1.insert(END, row)
def search_command():
list1.delete(0,END)

for row in backend.search(title_text.get(),author_text.get(),year_text.get(), isbn_text.get()):


list1.insert(END,row)
def add_book():
backend.insert(title_text.get(),author_text.get(),year_text.get(), isbn_text.get())

JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

8
\
Python Micro Project TYCO Book-store Management System
list1.delete(0,END)
list1.insert(END,(title_text.get(),author_text.get(),year_text.get(), isbn_text.get()))
def delete_book():
backend.delete(select_tup[0])
def update_book():
backend.update(select_tup[0], title_text.get(),author_text.get(),year_text.get(), isbn_text.get())
window.wm_title("Book Store")
l1 = Label(window, text="Title")
l1.grid(row=0,column=0)
l2 = Label(window, text="Auther")
l2.grid(row=0,column=2)
l3 = Label(window, text="Year")
l3.grid(row=1,column=0)
l4 = Label(window, text="ISBN")
l4.grid(row=1,column=2)
title_text = StringVar()
e1 = Entry(window, textvariable= title_text)
e1.grid(row=0, column=1)
author_text = StringVar()
e2 = Entry(window, textvariable= author_text)
e2.grid(row=0, column=3)
year_text = StringVar()
e3 = Entry(window, textvariable= year_text)
e3.grid(row=1, column=1)

isbn_text = StringVar()
e4 = Entry(window, textvariable= isbn_text)
e4.grid(row=1, column=3)
list1 = Listbox(window, height=6, width=35)
list1.grid(row=2, column =0, rowspan=6, columnspan=2)
list1.bind(“<<ListboxSelect>>”, get_selected_row) sb1 =Scrollbar(window)
sb1.grid(row=2, column=2 ,rowspan = 6)
list1.configure(yscrollcommand=sb1.set)
sb1.configure(command=list1.yview)

JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

9
\
Python Micro Project TYCO Book-store Management System
b1 =Button(window, text= “View All”, width=12,
command=view_command) b1.grid(row=2, column=3)
b2 =Button(window, text= “Search Book”, width=12, command=search_command)
b2.grid(row=3, column=3)
b3 =Button(window, text= “Add Book”, width=12, command=add_book)
b3.grid(row=4, column=3)
b4 =Button(window, text= “Update”, width=12, command=update_book)
b4.grid(row=5, column=3)
b5 =Button(window, text= “Delete”, width=12, command=delete_book)
b5.grid(row=6, column=3)
b6 =Button(window, text= “Close”, width=12, command=window.destroy)
b6.grid(row=7, column=3)
window.mainloop()

2. backend.py

import sqlite3
def connect():
conn =sqlite3.connect("books.db")
cur= conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS book (id INTEGER PRIMARY KEY, title
text, author text, year integer, isbn integer) ")
conn.commit()
conn.close()
def insert(title, author, year, isbn):
conn =sqlite3.connect("books.db")
cur= conn.cursor()
cur.execute("INSERT INTO book VALUES(NULL, ?,?,?,?)", (title,author,year,isbn))
conn.commit()
conn.close()
def view():
conn =sqlite3.connect("books.db")
cur= conn.cursor()
cur.execute("SELECT * FROM book")
JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

10
\
Python Micro Project TYCO Book-store Management System
rows =cur.fetchall()
conn.close() return rows
def search(title="", author="", year="", isbn=""):
conn =sqlite3.connect("books.db")
cur= conn.cursor()
cur.execute("SELECT * FROM book WHERE title=? OR author=? OR year=? OR
isbn=?",(title,author,year,isbn))
rows =cur.fetchall() conn.close()
return rows
def delete(id):
conn =sqlite3.connect("books.db")
cur= conn.cursor()
cur.execute("DELETE FROM book WHERE id=?",(id,))
conn.commit()
conn.close()
def update(id, title, author, year,isbn ):
conn =sqlite3.connect("books.db")
cur= conn.cursor()
cur.execute("UPDATE book SET title=?, author=?, year=?, isbn=? WHERE id=?",(title,
author, year, isbn,id))
conn.commit() conn.close()
connect()

3. oop_app/bookstore/oopFrontend.py

from tkinter import *

from oopBackend

import Database database= Database("books1.db")

window = Tk()

def get_selected_row(event):

try:

global select_tup

index=list1.curselection()[0]

JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

11
\
Python Micro Project TYCO Book-store Management System
select_tup = list1.get(index)

e1.delete(0,END)

e1.insert(END, select_tup[1])

e2.delete(0,END)

e2.insert(END, select_tup[2])

e3.delete(0,END)

e3.insert(END, select_tup[3])

e4.delete(0,END)

e4.insert(END, select_tup[4])

except IndexError:

pass

def view_command():

list1.delete(0,END)

for row in database.view():

list1.insert(END, row)

def search_command():

list1.delete(0,END)

for row in database.search(title_text.get(),author_text.get(),year_text.get(), isbn_text.get()):

list1.insert(END,row)

def add_book():

database.insert(title_text.get(),author_text.get(),year_text.get(), isbn_text.get())

list1.delete(0,END) list1.insert(END,(title_text.get(),author_text.get(),year_text.get(),

isbn_text.get()))

def delete_book():

database.delete(select_tup[0])

def update_book():

database.update(select_tup[0], title_text.get(),author_text.get(),year_text.get(), isbn_text.get())

window.wm_title(“Book Store”)

l1 = Label(window, text=”Title”)

l1.grid(row=0,column=0)

JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

12
\
Python Micro Project TYCO Book-store Management System
l2 = Label(window, text="Auther")

l2.grid(row=0,column=2)

l3 = Label(window, text="Year")

l3.grid(row=1,column=0)

l4 = Label(window, text="ISBN")

l4.grid(row=1,column=2)

title_text = StringVar()

e1 = Entry(window, textvariable= title_text) e

1.grid(row=0, column=1)

author_text = StringVar()
e2 = Entry(window, textvariable= author_text)

e2.grid(row=0, column=3)

year_text = StringVar()

e3 = Entry(window, textvariable= year_text)

e3.grid(row=1, column=1)

isbn_text = StringVar()

e4 = Entry(window, textvariable= isbn_text)

e4.grid(row=1, column=3)

list1 = Listbox(window, height=6, width=35)

list1.grid(row=2, column =0, rowspan=6, columnspan=2)

list1.bind("<<ListboxSelect>>", get_selected_row) sb1 =Scrollbar(window)

sb1.grid(row=2, column=2 ,rowspan = 6)

list1.configure(yscrollcommand=sb1.set)

sb1.configure(command=list1.yview)

b1 =Button(window, text= "View All", width=12, command=view_command)

b1.grid(row=2, column=3)

b2 =Button(window, text= "Search Book", width=12, command=search_command)

b2.grid(row=3, column=3)

b3 =Button(window, text= "Add Book", width=12, command=add_book)


b3.grid(row=4, column=3)

JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

13
\
Python Micro Project TYCO Book-store Management System
b4 =Button(window, text= "Update", width=12,
command=update_book) b4.grid(row=5, column=3)
b5 =Button(window, text= "Delete", width=12, command=delete_book)
b5.grid(row=6, column=3)
b6 =Button(window, text= "Close", width=12, command=window.destroy)
b6.grid(row=7, column=3)
window.mainloop()

4. oop_app/bookstore/oopBackend.py

import sqlite3
class Database:
def_init_(self, db):
self.conn =sqlite3.connect(db)
self.cur= self.conn.cursor()
self.cur.execute("CREATE TABLE IF NOT EXISTS books1 (id INTEGER PRIMARY
KEY, title text, author text, year integer, isbn integer) ")
self.conn.commit()
def insert(self,title, author, year, isbn):
self.cur.execute("INSERT INTO books1 VALUES(NULL, ?,?,?,?)", (title,author,year,isbn))
self.conn.commit()
def view(self):
self.cur.execute("SELECT*FROMbooks1")rows=self.cur.fetchall()
return rows
def search(self,title="", author="", year="", isbn=""):

self.cur.execute(“SELECT * FROM books1 WHERE title=? OR author=? OR year=?


OR isbn=?”,(title,author,year,isbn))
Rows = self.cur.fetchall()
Return rows
def delete(self,id):
self.cur.execute(“DELETE FROM books1 WHERE id=?”,(id,))
self.conn.commit()

JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

14
\
Python Micro Project TYCO Book-store Management System
def update(self,id, title, author, year,isbn ):
Self.cur.execute(“UPDATE books1 SET title=?, author=?, year=?, isbn=? WHERE
Id=?”,(title, author, year, isbn,id))
self.conn.commit()
def_del_(self):
self.conn.close()

5. opp_app/account/account.py

Class Account():

def_init_ (self, filepath):

self.filepath = filepath

with open(filepath, ‘r’) as file:

self.balance = int(file.read())

def witdraw(self, amount):

self.balance = self.balance – amount

def deposit(self, amount):

self.balance = self.balance + amount

def commit(self):

with open(self.filepath, “w”) as file:

file.write(str(self.balance))

account = Account(“balance.txt”)

print(account.balance)

account.deposit(200)

print(account.balance)

account.commit()

JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

15
\
Python Micro Project TYCO Book-store Management System
6.0 Screen short

JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

16
\
Python Micro Project TYCO Book-store Management System

7.0 Skill Developed / learning out of this Micro-Project


• Python Programming & Database Management – Developing skills in Python for
backend logic, working with databases (SQLite/MySQL), and implementing
CRUD operations.
• Problem-Solving & Project Development – Enhancing logical thinking,
debugging, and managing a complete project from design to execution.
8.0 Applications of this Micro-Project
Library Management – Used in schools, colleges, and public libraries to track book inventory,
borrowing, and returns.
Personal Book Collection Management – Helps individuals organize and manage their personal book
collections efficiently.
.
9.0 Area of Future Improvement
• Advanced Search & Filtering – Implement AI-based recommendations and keyword-based
search.
• Cloud Integration – Store and sync data across multiple devices using cloud databases.
• User Roles & Authentication – Add multi-user access with different permission levels (admin,
librarian, user).

JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

17
\
Python Micro Project TYCO Book-store Management System

**************

Total
Process Assessment Product Assessment
Marks

Roll Project
Name Project Project Report/ Individual
No.
Proposal (2 Methodolog Working Presentatio 10
marks) y (2 marks) model (2 n (4 Marks)
marks)

JAMIA POLYTECHNIC AKKALKUWA Computer Engineering Department

18

You might also like