0% found this document useful (0 votes)
5 views

Python Project Proposal

Uploaded by

Aryan Sharma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Python Project Proposal

Uploaded by

Aryan Sharma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

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:

• The library will consist of the following interfaces:


– A common interface at startup: the student or manager can login to
their respective screens.
– A student screen: options to borrow/return/search for books. Con-
tains necessary buttons and tabs.
– A manager screen: options to add/remove members, monitor the
status of the books. Contains necessary buttons and tabs.

• 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.

• The code editor to be used will be Visual Studio Code.

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

6 Milestones & Timelines


Milestone Deadline
Pre-requisites 07/10
Logic & Core Structure 10/10
GUI/UX Design 13/10
Testing 15/10
Finalising & Submission 17/10

7 Collaboration & Communication


Tool Purpose
GitHub Code management and version control
WhatsApp Communication among the team
Google Meet & Microsoft Teams Virtual meeting among the team
Visual Studio Code Editing and writing the source code

You might also like