You are on page 1of 26
SONANAYWNN Content Introduction Flowchart Design Database Structure , Source Code Output Requirement Advantages and disadvantages Conclusion . Bibliography INTRODUCTION This project BOOKSHOP SYSTEM includes some facilities for the retail 6ooR,shop to maintain records of the books and also search, display, modification, delete etc the books available. This software searches the books data which is store in the record, The software used for small shops for maintaining their records related to books selling, printing the reports and cost savings. Book distributors transaction handling is one of the complex, process and it required computerized system to maintain overall transactions in an easier manner. Due to heavy demand of books in these competitive worlds, data increase so much. Books shop required up to date information about the customer who purchased books or about the suppliers from where books are purchased. The books shop requires large amount of data to record and to store, which are collected from the Book House. FLOWCHARTI DESIGN 01. BOOKS REPORT GENERATOR 02. ADMINISTRATOR 03. EXIT 1.SEARCH AND PRINT SALE INVOICE 12. SEARCH AND PRINT PURCHASE INVOICE] 3, DISPLAY ALL INVOICE(SALE/PURCHASE 14. SEARCH INVOICE BY DATEOFINVOICE [5.BACK TO MAIN MENU, 1,BOOK'S MENU 2.BOOKS SALE/PURCHASE. 3.BACK TO MAIN MENU. 01, ADD BOOKS INFORMATION 1,B00KS SOLD OUT 02. MODIFY BOOKS INFORMATION} 2.BOOKS PURCHASED 03. DELETE BOOKS INFORMATION| 1.CREATE BOOKS DETAILS 4.MODIFY TITLE 12.DISPLAY ALL BOOKS DETAILS 2.MODIFY PRICE 3.SEARCH RECORD BY BOOKID 3.MODIFY QUANTITY |4.SEARCH RECORD BY BOOK TITLE 4. MODIFY ISBN 5. SEARCH RECORD BY PRICE 5. MODIFY PUBLISHER }6. SEARCH RECORD BY TYPE 6.MODIFY CATEGORY 7.SEARCH RECORD BY PUBLISHER DATABASE STRUCTURE Table: booksinfo Columnname | Datatype/size_| Constraints bookID int(11) Primary Key title varchar(30) | price int(11) qty int(11) | pubname varchar(30) BN va 0) authorname varchar(35) category varchar(15) Table: salepurchase Columnname | Datatype/size | constraints SPID int(11) Primary key bookid int(11) date_SP- date quantity int(LL status varchar(15) no__|int(11) int(11) ‘THE MAIN FUNCTION OF PROGRAM. seenseeensentennnsennseasenensennseniseeseenseonnaeeeasaeseene® import platform import os def myclear(): if platform, ystem()=="Windows": prini(os.system("els")) def intromain(): myclear() print('***BOOKS******MANAGEMENT****SYSTEM**###*PROJECT##¢##98## #e044¢9e40") print("*seeeesenenes: Haseennenseaennensasenneennenn ) def intro): prini("**ereesenemee: 1108899 ]OOKS-MANAGEMENT##¢###9¢#4¢0¢09n4¢enne00") Print(*==ssseseesssssessnasasscessesessessosscnessssscesssssesssss") Print("* ¢#eseeasenneeesereessenenes naseeneeens enaeneny print("PROJECT:") print("MADE BY i) myclear() intromain() print MAIN MENU: “) print("0 1, BOOKS REPORT GENERATOR") print("02, ADMINISTRATOR") print("03, EXIT") lif" aan nanan nenen ene nennnaennnaeenmaean") ‘ch=int(input("Please Select Your Option (1-3)")) return ch def book_menu(): ch=0 intromain() print BOOKS INFO MENU: print("01, ADD BOOKS INFORMATION") print("02. MODIFY BOOKS INFORMATION") print("03. DELETE BOOKS INFORMATION") print("04. BACK TO MAIN") 7. prin ch=int(input("Please Select Your Option (1-4) ")) return ch ADMINSTRATOR BOOKS FUNCTION seenneensmenssentennnsensentennssnsensedenaonnonnesennonnnsennerint def admin_menul(): ch-0 myclear(). intromain() print(" BOOKS ADD MENU: print("I.CREATE BOOKS DETAILS") print("2,DISPLAY ALL BOOKS DETAILS") print("3.SEARCH RECORD BY BOOKID") print("4. SEARCH RECORD BY BOOK TITLE") print("S,SEARCH RECORD BY PRICE") print("6.SEARCH RECORD BY TYPE") print("7,SEARCH RECORD BY PUBLISHER") print(".BACK TO MAIN MENU") cheint(input("Please Enter Your Choice (1-8) ")) def BOOKS. menu): che myclear(), intromain() print ‘ADMIN MENU: print("1,BOOK'S MENU") print("2. BOOKS SALE/PURCHASE") print("3,BACK TO MAIN MENU") ch=int(input("Please Enter Your Choice (1-3) ")) return ch MODIFY MENU sensesensmenseeensensonssnenssonsenenseansnaensenegeaenenin def modifyBOOKS_menu(): ch=0 myclear() intromain() print(" MODIFY MENU: print("1 MODIFY TITLE") print(""2. MODIFY PRICE") print("3.MODIFY QUANTITY") print("4.MODIFY ISBN") print(’S. MODIFY PUBLISHER") print("6. MODIFY CATEGORY") print("7.BACK TO MAIN MENU") ‘ch=int(input("Please Enter Your Choice (1-7)")) return ch REPORTS MENU, Aetseeasesennsesenaensenneeennennsennnss seensesnasessegtn def SALE_PURCHASEmenu(): ch=0 myck intromain() print(" SALE AND PURCHASE MENU: print("I. BOOKS SOLD OUT") print("2, BOOKS PURCHASED") print("3.BACK TO MAIN MENU") cheint(input("Please Enter Your Choice (1-3) ")) return ch def booksinvoicereports(): ch=0 myelear() intromain() print “===BOOKS ADD MENU: print("I. SEARCH AND PRINT SALE INVOICE") *: —aeneennennnis print("2,SEARCH AND PRINT PURCHASE INVOICE") print("3,DISPLAY ALL INVOICE(SALE/PURCHASE)") print("4,SEARCH INVOICE BY DATEOFINVOICE") print("S.BACK TO MAIN MENU") ‘ch=int(input("Please Enter Your Choice (1-5) ")) return ch H-- to generate the autonumbers det giveno(): count=0 mydb=pymysql.connect(host="localhost”, user="root”, passwd="", database="booksystem") print(mydb) mycursor=mydb.cursor() query=("SELECT COUNT(*) FROM booksinfo") g=("SELECT MAX(bookid) FROM booksinfo") mycursor-execute(query) re=mycursor.fetchone() tmp=re{0] print(tmp) iftmp—0: ‘count=int(input("Enter the New Ni else: 4-(’SELECT MAX(bookid) FROM booksinfo") mycursor.execute(q) re=mycursor.fetchone() count=re{0] count=count+ mycursor.close() mydb.close() return count ‘H=To add new record of books def write_bookrecord(): ‘mydb=pymysql.connect(host="ocalhost", user="root", passwd", database="booksystem") print(mydb) C=mydb.cursor() Query=(INSERT INTO booksinfo VALUES(%s,%s,%8,%8,%8,%8,%68,%8)") bbno=giveno() bkid=bno tname=input("Enter Title of book") print(input("Enter Price of book")) pnm=input("Enter Publisher name") isbneint(input("Enter ISBN number")) anm=input("Enter Author Name") catt=input("Enter Category(Fiction/Drama/E ducation/Others)") data>(bkid,tname,pr0,pnm,isbn,anm,catt) Coexecute(Query.data) mydb.commit() Celose() ydb.close() ‘except: mydb,close() #--Search book no def booksearchdata try: conn=pymysql-connect(host="Iocalhost", user="root", passwd="", database="booksystem") Cconn.cursor() Query=("SELECT * FROM booksinfo WHERE bookid=%s") data=(scid,) C.execute(Query,data) re=C fetchone() ifre: print("BOOK ID\tTITLE\UPRICE QUANTITY tPUB-NAME\ISBNYAUTHOR CATEGORY") print(re{0}, "ref 1]"0"co[2}"W" rel 3} "0" re[4] "0" re[5],"te[6],"" (7) input os.system(els') Close) conn.close() return re except: conn.close() #-—-Modify Tile of book. def search_mod_Title(): wy: _myclb=pymysql.connect(host="localhost", user="root", passwd", database="booksystem") Comydb.cursor() bbno=int(input("ENTER Book No")) rel=booksearchdata(bno) ifrel: tnm=input("Enter the new Title name to update:") Query=("UPDATE booksinfo SET title=¥s WHERE bookid=%s") data=(tnm,bno) Coexecute(Query,data) mydb.commit) print(C.rowcount, "record(s) affected") Calose() mydbclose() ‘except: mydb.close() t---Modify price of book def search_mod_price(): uy: ‘mydb=pymysql.connect(host="ocalhost", user="root", passwd", database="booksystem") Comydb.cursor() bno=int(input("ENTER Book No")) rel=booksearchdata(bno) iffrel: #o— and fo=1: {tnm=int(input( "Enter the price to update:")) Query=("UPDATE booksinfo SET price=price+%s WHERE bookid=%s") data=(tnm,bn0) Ceexecute(Query.data) mydb commit) print(C.rowcount, *record(s) affected") Ceclose() mydb.close() except: mydb.close() #-—-Modify Quantity of book def search_mod_qty0: uy: mydb=pymysql.connect(host="localhost", user="root", passwd="", database="booksystem") C=mydb.cursor() bno=int(input("ENTER Book No") rel=booksearchdata(bno) ifrel: thm=int(input("Enter the new Quantity to update:")) Query=(["UPDATE booksinfo SET qty=qty+%s WHERE bookid=%%s") data=(inm,bno) Cexecute(Query.data) mydb.commit() print(C.rowcount, "record(s) affected") Closet) mydb.close() except: mydb.close() #---Modify ISBN of book dof search_mod_ISBNO: uy: ‘mydb=pymysql.connect(host="ocalhost", user="root", passwd", database="booksystem") Comydb.cursor() bno=int(input("ENTER Book No")) rel=booksearchdata(bno) ifrel: tnm=input("Enter the ISBN to update:") Query=("UPDATE booksinfor SET ISBN="%s WHERE bookid="%s") data=(tnm,bno) Ceexecute(Query,data) mydb commit) print(C.rowcount, "record(s) affected") C.close() mydb.close() except: mydb.close() ‘t---Modify Publisher of book def search_mod_pub(): ty: :mydb=pymysql.connect(host="localhost", user="root", passwd="", database="booksystem") C=mydb.cursor() bno=int(input("ENTER Book No")) rel=booksearchdata(bno) ifrel: tnm=input("Enter the publisher name to update:") Query=("UPDATE booksinfo SET pubname=s WHERE bookid=%s") data=(tnm,bno) Ceexecute(Query, data) mydb.commit) print(C.rowcount, “record(s) affected") Celose() mydb.close() except: imydb.close() H-—-Modify Category of book def search_mod_cat(): wy: :myalb=pymysql.connect(host="localhost", user="root", passwd", database="booksystem") Comydb.cursor() ‘bno=int(input("ENTER Book No")) rel=booksearchdata(bno) ifrel: tnm=input("Enter the Category to update:") Query=("UPDATE booksinfo SET category=%s WHERE bookid=%s") data=(tnm,bno) Ceexecute(Query,data) mydb.commitd) print(C.rowcount, "record(s) affected") Close) mydb,close() ‘except: mydb.close() ‘W-mdelete the book record from the table def deletebooks(): ty: mydb=pymysql.conneci(host="localhost”, user="root", passwd="", database="booksystem") C=mydb.cursor() ‘bno=int(input("ENTER Book No")) rel=booksearchdata(bno) ifrel: Query=("DELETE FROM booksinfo WHERE bookid=%s") data=(bno,) Ceexecute(Query,data) mydb.commit() print(C.roweount, "record(s) affected") Ceclose() mydb.close() ‘except: mydb.close() Ho-show all books def showallbook(): try: conn=pymysql.connect(host="localhost”, user="root", passwd="", database="booksystem") ‘C=conn.cursor() Query=("SELECT * FROM booksinfo") Hdata-(scid,) Ceexecute(Query) te=C.fetchall() ifrre: print("BOOKID\tTITLE\PRICE\QUANTITY \PUB-NAME\ISBNYAUTHOR\CATEGORY") for x in re: print(x[O],"\U" [1], "\"x[2], "Mt" xf3} Me" xf} 0" x[5],'W" x [6] "0" X17) imput(nssssssssssesssepess the KeVsssssnencssnsssenesnssesnte”) os.system(els!) Celose() conn.close() return re except: conn.close() #---search and display book by ID def showbookID(): try: conn=pymysql.connect(host="localhost", user="root", passwd=", database="booksystem") ata(scid,) Ceexecute(Query.data) nC, print("BOOKID\TITLE\PRICEWQUANTITY \PUB-NAME\SBNYAUTHOR\CATEGORY") print(re[O},"\t" ref 1},"\M",re[2]."\t" re{3],"\e"sre[4],"\t" re 5],"\",re[6],"\t" rel7)) input —-nmrmnpres the hey ee) os.system(els!) C.close() conn.close() return re ‘except: conn.close() search and display book by title def showttled: try: conn=pymysql.connect(host="localhost”, user="root", passwd="", database="booksystem") ‘C=conn.cursor() ("Enter the Book TITLE:") Query=("SELECT * FROM booksinfo WHERE title=%s") data-(scid,) Ceexecute(Query.data) re=C fetchone() ifre: print("BOOKID\tTITLE\tPRICE\QUANTITY \tPUB-NAME\tISBN\tAUTHORMCATEGORY") print(re[O},"\"yrof 1} "\e"re[2],"\yre[3}"" tel} "W"sre[5}"W"sre[6],"\"sre[7) nput("'s-s-e-s----=-eeeeeepress the Key=s-e-renonennen i) os.system(‘els') C.close() conn.close() return re except conn.close() #---search and display book by price def showbyprice(): ty: conn=pymysql.connect(host="localhost”, user="root", passwd=", database="book system") Ceconn.cursor() Jow=int(input("Enter the Price lowest value:")) hhigh=int(input("Enter the Price Highest value:")) Query=("SELECT * FROM booksinfo WHERE price BETWEEN %s AND %s ") data=(low,high) Coexectite(Query.data) re=Cfetchall() print("BOOK ID WTITLE\PRICE\QUANTITY WPUB-NAME\ISBNWAUTHORMCATEGORY") for rel in re: print(re{0},"\e" ret 1],"\" rel [2}.".te 13 rel[4],"\",rel[5],"\"te[6}"M"srel[7)) nt C.close() conn, close(), return re except: conn.close() #-—search and display book by type def showtype(): try: ‘conn=pymysql.conneci(host="localhost”, user="root", passwd="", database="booksystem") C=conn.cursor() put("Enter the Book Category(Fiction/Drama/Education/Programming/Others):") Query=("SELECT * FROM booksinfo WHERE category=%s") data=(scid,) Coexecute(Query,data) re=C.fetchall() ire: print(" BOOK ID\TITLE\PRICE QUANTITY \PUB-NAME\ISBNWAUTHORMCATEGORY") for rel in re: print(rc{0},"\t",rel[1],"\",rel{2}."",re1[3},"",rel[4],"\",rel[S],"\t"re1[6}"M"sre[7)) input("-- press the key--- “e “") os.system(cls') C.close() conn.close() return re except conn.close() #-—-search and display book by publisher name def showpub(): ty: conn=pymysql.conneci(host="localhost", user="root", passwd="", database="booksystem") ‘Ceconn.cursor() seid=input("Enter the Book publisher name:") Query=("SELECT * FROM booksinfo WHERE pubname=%s") data>(seid,) Coexeoute(Querydata) re=C.fetchall() if print("BOOK ID\TITLE\MPRICEWQUANTITY \tPUB-NAME\ISBNYAUTHOR\CATEGORY") for rel in re: print(rel[0],"\t",rel(1},"\t",rel[2],"\e"re MO} col [4) "eros "utr [66007 input press the ke; a) os.system(els!) Closet) conn.close() return re except conn.close() +#--to generate the autonumbers def givemeno(): count=0 mydb=pymysql.connect(host="localhost", user="root”, passwa=", database="booksystem") print(mydb) mycursor=mydb.cursor() query=("SELECT COUNT(*) FROM salepurchase") q-(’SELECT MAX(SPID) FROM salepurchase") mycursor-execute(query) re=mycursor.fetchone() tmp=ref0] print(tmp) iftmp—=0: count=1 else: ("SELECT MAX(SPID) FROM salepurchase") mycursor.execute(q) re=mycursor.fetchone() count=re{0] count=count+ mycursor.close() mydb.close() return count HomeeUpdate the qtys=-= def changeqty(bno,at.ch): wy: mydb=pymysql.conneci(host="localhost”, user="root", passwd=", database="booksystem") Comydb.cursor() iffch='S): Query=("UPDATE booksinfo SET qty=qty-%s WHERE bookid="%s") elifich="A'): Query=("UPDATE booksinfo SET qty=qty*%s WHERE bookid=%s") data=(qt.bno) Coexectite(Query.data) mydb.commit() print(C.rowcount, "record(s affected") Celose() mydb.close(), except: mydb.close() Horeeesinvoice to sell the books def books Sale(); try: mydb=pymysql.connect(host="localhost”, user="root”, passwd=", database="booksystem") print(mydb) f#mycursor=mydb.cursor() C=mydb.cursor() netamt=0 Query=("INSERT INTO salepurchase VALUES(%s,%8,%48,%8,%8,%5,%8)") invono=int(input("Enter the invoice no:")) dosp=input("Enter the date of sale") while True: no-givemeno() invoieeid=no ‘bno=int(input("Enter the book no") rel=booksearchdata(bno) ifrel:

You might also like