A library stores items (books, articles, and digital media) to be accessed by people (members); it contains a unique id and a name.
An item is stored in a particular library (books, articles, and digital media); it contains four mandatory fields: a unique ID, a reference to a specific library, the type of item, and a name. In addition, it includes three optional fields depending on the item type:
- Author of a book - If the item type is a 'book.'
- Journal of the article - If the item type is an 'article.'
- Format of the Media - If the item type is 'Digital Media.'
A member refers to the people who can access items from a library; it contains a unique ID, first name, last name, and email.
The Library Management System:
- Load data (borrowing, items, library, and members data) into memory from the data text files.
- Save data (borrowing, items, library, and members data) from memory into the data text files.
To access the Library Management System, there are two user types:
- An administrator who can modify library data. They have the following privileges:
- Add/Edit/Delete/Display Libraries.
- Add/Edit/Delete/Display Items of a particular library.
- A member who can only borrow/return library items (Identified by their Member ID). They have the following privileges:
- Add/Edit their Member profile.
- Display Libraries.
- Display/Borrow/Return items of a particular library.
- Access pending and completed borrowing transactions.
Python 3.10.4 and up Install
Clone this project in your local machine. Run the main program file.
- Back navigation and exit options.
- Ensure a person can only borrow an item that they have returned.
- Properly format the files and output to minimize extra whitespace.
- Only show the necessary information in the return menu.
- Ensure string input is required.
- Inform users of successful and unsuccessful operations.
- Ensure Library ID, Item ID, and Member ID are unique.
- One can only borrow/return if logged in as a member
- Properly handle None value of items yet to be returned.
- Delete the library and its items but leave borrowing records (analysis)
- Ensure the user's choices are in the valid range.
- Ensure email input is valid.
- One should only modify existing data.
- Ensure there is no library with an ID of 00, 01, or 02 since they'll be a collision in the library menu.
There is no direct manipulation of the data files.
The author of this project is Richard Odhiambo.
You can find me here at: Github
This project is licensed under the MIT License.