A library management system which has functions for checking in books, returning books and recommendation of books for users. The GUI is robust and provides adequate functionality for basic functions.
Database Tables: Book_Info, Loan_History, Overdue_Books and Image_Data. Text Files: Loan_History.txt (100 transactions) and Book_Info.txt.
- Functionality guide:
- To start the application, one would have to run the python module:
python menu.py
. - After starting the application, three tabs would be present:
Book Checkout
,Book Return
,Recommendations
. - To begin working with the application, one would have to input the
member ID
and respectivebook ID
which would then checkout the book in theBook_Info
table and insert into theLoan_History
table as a transaction. - Once checkout is completed, the user can then return the book by inputting the respective
BookID
in thebook return
tab. - Users can also check the
recommendations
tab where recommendations will be provided based on Genre. - To exit the application, close the window respectively.
- To start the application, one would have to run the python module:
- Elements that could be improved and do not work:
- Checkout validation is not present in the application, through interpretation if a bookID is inputted and not present in the
Book_Info
table, this will still add as a transaction in theLoan_History
but will not change the memberID in theBook_Info
table. - Overall GUI design could be made more presentable and pleaseing to the eyes.
- The calculation of book fines and overdue days could be better suited or placed if done in the
bookCharge
python module instead of a direct SQL query. - Labels or Messageboxes could be used to show once button is clicked for better readability and understanding.
Recommendations
logic function has not been implemented. However, a matplotlib graph has just been shown.- Once the book is checked out and then returned, the
CurrentLoanStatus
column of Book_Info will not be changed back to 0. However, can be issued again and then replaced with a new MemberID.
- Checkout validation is not present in the application, through interpretation if a bookID is inputted and not present in the
- Problems faced:
- Time management.
- Coursework specification understanding.
- Unique bugs/errors.