Skip to content

This project is a simplified Library Management System designed and implemented using appropriate design patterns and data structures. The system provides functionalities for managing books, users. This implementation emphasizes clean code, modularity, and efficient data management.

License

Notifications You must be signed in to change notification settings

jesuismarie/Library-Management-System

Repository files navigation

Library Management System

Library Management System is a terminal-based application developed to manage books, users in a library. This project is designed to enhance your understanding of design patterns and data structures while providing a practical tool for managing library operations.

Features

  • Add New Books: Easily add new books to the library collection.
  • Remove Books: Remove books from the library.
  • Search Books: Search for books by title, author, or ISBN.
  • User Management: Register new users and manage user accounts.
  • Borrow and Return Books: Users can borrow and return books.
  • Reservation System: Implement a reservation system for books.

Compatibility

Library Management System is compatible with:

  • Linux
  • MacOS

Getting Started

For Linux

  1. Before running Minishell on Linux, ensure that you have the necessary dependencies installed. You may need to install the following packages:

    sudo apt update -y
    sudo apt install build-essential -y
    sudo apt install libreadline-dev -y
    sudo apt install bc -y
  2. Clone the repository:

    git clone https://github.com/jesuismarie/library-management-system.git
  3. Change into the project directory:

    cd Library-Management-System
  4. Compile the program:

    make
  5. Run MiniShell:

    ./library
  6. You can now start managing books, users through the terminal interface.

For MacOS

To get started with Library Management System, follow these steps:

  1. Clone the repository:

    git clone https://github.com/jesuismarie/library-management-system.git
  2. Change into the project directory:

    cd Library-Management-System
  3. Configure Readline Library

    make configure
  4. Compile the program:

    make
  5. Run MiniShell:

    ./library
  6. You can now start managing books, users through the terminal interface.

Usage

Library Management System provides a command-line interface where you can manage library operations. Here are some examples:

  • Register a New User:

    > REGISTER
    >> Enter username:
    >> Enter password:
    >> Re-enter password:
  • Login to Profile:

    > LOGIN
    >> Enter username:
    >> Enter password:
    • Logout from Profile:
    > LOGIN
    >> Enter username:
    >> Enter password:
  • Add a New Book:

    > ADD
    >> Enter title:
    >> Enter author:
    >> Enter isbn:
  • Remove a Book:

    > REMOVE "1234567890"
  • Search for a Book:

    > SEARCH
    >> Search:
  • Borrow a Book:

    > BORROW
    >> Enter a book title or ISBN:
  • Return a Book:

    > RETURN
    >> Enter a book title or ISBN:

Project Structure

The project structure is as follows:

  • sources/: Contains the source code files.
  • includes/: Contains the header files.
  • database: Contains users and books databases.
  • readline-8.2/: Readline Libaray.
  • Makefile: The Makefile for compiling the project.

Dependencies

MiniShell has the following dependencies:

  • C compiler (e.g., CC)
  • Make

Contributing

We'd love to have you contribute! Please refer to our contribution guidelines for details.

License

This project is licensed under the Apache License - see the LICENSE file for details.

About

This project is a simplified Library Management System designed and implemented using appropriate design patterns and data structures. The system provides functionalities for managing books, users. This implementation emphasizes clean code, modularity, and efficient data management.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published