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

Python Project Proposal

Uploaded by

Aryan Sharma
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)
9 views

Python Project Proposal

Uploaded by

Aryan Sharma
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/ 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