SDR01 / LibraryManagementSystem

The Automated Library Management System is a sophisticated solution designed to streamline library operations efficiently. This system serves as a centralized repository for maintaining comprehensive records of books, users, and facilitates basic CRUD (Create, Read, Update, Delete) operations.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A RESTful API Service for Library Management System

An Automated Library Management System that will maintain records of all books, users and perform basic CRUD operations such as add, delete, upadate, issue, return a book and calculate fines for any late returns

Features

  • Book Features:

    • Add, Update, Delete Books from database
    • Get list of all books
    • Check availability of books
    • Issue books
    • Caluculate fines for late submission
    • Get all borrowed books list
    • Check due dates of books
  • User Features:

    • Register a new user
    • Delete a user account
    • Borrow and Return books
    • View list of borrowed books

Tech Stack

  • Java
  • Spring Framework
  • Spring Boot
  • Spring Data JPA
  • Hibernate
  • MySQL
  • Postman

Modules

  • Book Module
  • User Module

ER Diagram

The following Diagram depicts the flow of our Entity Relation Diagram to simplify the work flow.

API Root Endpoint

  • General API https://localhost:8080/

  • Add Book API http://localhost:8080/book/

  • Get all Borrowed Book http://localhost:8080/book/allBorrowedBookList

  • Add User API http://localhost:8080/user/

  • User Borrowed Books http://localhost:8080/user//userBorrowedList/{userId}

  • Issue Book API http://localhost:8080/user/borrow/{userId}/{bookId}

  • Return Book API http://localhost:8080/user/return/{userId}/{bookId}/{borrowId}

Installation & Run

  • Before running the API server, you should update the database config inside the application.properties file.
  • Update the port number, username and password as per your local database config.
#changing the server port 
server.port=8080

#db specific properties 
spring.datasource.url=jdbc:mysql://localhost:3306/LibraryManagementSystem
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=IMCoder@0566

About

The Automated Library Management System is a sophisticated solution designed to streamline library operations efficiently. This system serves as a centralized repository for maintaining comprehensive records of books, users, and facilitates basic CRUD (Create, Read, Update, Delete) operations.


Languages

Language:Java 100.0%