Python Project Proposal
Python Project Proposal
1 Overview
This project aims to create a primitive library management system, where
students can borrow/return books. There will be a manager who can add/remove
members/books, and can keep track of the status of each book (borrowed/availability,
etc) and each member (add/remove/status).
2 Solution Outline
The high-level implementation details of the application are as follows:
• There will be respective login screens and menus for members to select
their appropriate profile and use the application.
• There will be a CSV file for storing all the necessary data.
• The tasks will be distributed among some classes (refer to §3), each will
have a module file of its own.
• Finally, there will be a main.py file which will import all the necessary
modules and will act as the central module with the main control flow of
the application.
1
3 Classes Used
• class Books:
– Handles the books: availability, status, catalogue, etc.
– Methods:
∗ addBook()
∗ removeBook()
∗ borrowBook()
∗ returnBook()
– Attributes (static):
∗ bookDetails - type ’dict’
• class Members:
– Handles the members and their properties: add, remove, update, etc.
– Methods:
∗ addMember()
∗ removeMember()
∗ updateMember()
– Attributes (static):
∗ memberDetails - type ’dict’
• class CSV Handler:
– Handles the input and output to and fro between the program and
the CSV used to store data.
– Methods (@staticmethod):
∗ CSV updateBooks()
∗ CSV loadBooks()
∗ CSV updateMembers()
∗ CSV loadMembers()
• class UI
– This class will handle the GUI of the application and the rest of the
necessary methods. It will be built using Tkinter.
2
4 Technology Stack
• This application will be built using the Python programming language
(version 3.12 64-bit).
• The GUI will be designed using the Tkinter module.
• The data will be stored in a CSV sheet and will be handled using the CSV
module.
5 Team Structure
Name Roll Number Role
Savani Vedant Vijay BT2024191 Books, UI, GitHub repository
Anish Teja Bramhajosyula IMT2024029 Books, Members
Aryan Sharma BT2024212 CSV, UI
Gadamsetty Sankalp BT2024182 CSV, Members