Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/khaledgadelhaq/library-management-system-project
https://github.com/khaledgadelhaq/library-management-system-project
Last synced: about 4 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/khaledgadelhaq/library-management-system-project
- Owner: khaledGadelhaQ
- Created: 2023-09-18T06:47:42.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-03T03:29:44.000Z (about 1 year ago)
- Last Synced: 2023-10-03T19:13:22.362Z (about 1 year ago)
- Language: C++
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Library Management System
This is a simple console-based Library Management System written in C++. It allows users to manage books and users in a library, borrow and return books, and perform various other library-related tasks.
## Table of Contents
- [Technologies](#technologies)
- [Features](#features)
- [Demo](#demo)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)## Technologies
- **C++**: The core programming language used for building the Library Management System.
- **Object-Oriented Design (OOD)**: The system is designed using object-oriented principles to model books, users, and the library itself as objects with their properties and behaviors.
- **Standard Template Library (STL)**: The code utilizes STL containers such as `map`, `vector`, and algorithms like `find` and `sort` for efficient data management and manipulation.
- **Object-Oriented Programming (OOP)**: The program follows object-oriented principles to create classes (`Book`, `User`, `LibrarySystem`) to represent the entities in the library system.
- **Console Interface**: Interaction with the user is done through a console interface, where users can select options from a menu.## Features
- Add books to the library with a unique ID, name, and quantity.
- Add users to the library with a unique username, first name, last name, and email.
- Borrow books from the library, with checks for book availability.
- Return borrowed books to the library.
- List books by their unique ID or name.
- Search for books by a prefix of their names.
- Print the list of users who borrowed a specific book.
- List users by their unique ID or name.
- List books borrowed by a specific user.## Demo
![1](https://github.com/khaledGadelhaQ/Library-Management-System-Project/assets/120754711/7b452330-29b8-4306-8142-73544f439acd) ![2](https://github.com/khaledGadelhaQ/Library-Management-System-Project/assets/120754711/d2c9f036-eca8-47d7-8b4a-acbccfcbf96d) ![3](https://github.com/khaledGadelhaQ/Library-Management-System-Project/assets/120754711/452face6-eb28-4564-bdd6-8d65c13a7eee) ![4](https://github.com/khaledGadelhaQ/Library-Management-System-Project/assets/120754711/1881a0f2-455b-42f0-9d5f-522898e79746) ![5](https://github.com/khaledGadelhaQ/Library-Management-System-Project/assets/120754711/7bb66332-6e39-469d-a246-a9b4fb9076b9) ![6](https://github.com/khaledGadelhaQ/Library-Management-System-Project/assets/120754711/7bb29599-e4ee-41e9-adb4-f635fc9fc4f7)## Usage
1. When you run the program, you will be presented with a menu of options.
2. Enter the number corresponding to the action you want to perform.
3. Follow the prompts to provide the required information for each action.
4. The program will execute your chosen action and display the results.
5. You can always choose option 12 to view the menu again.
6. To exit the program, choose option 13.
## Contributing
Contributions are welcome! If you would like to contribute to this project, please fork the repository and submit a pull request with your changes.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.