Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/khaledgadelhaq/library-management-system-project


https://github.com/khaledgadelhaq/library-management-system-project

Last synced: about 4 hours ago
JSON representation

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.