Skip to content

kayanr/LibraryManagementSystemApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

40 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Library Management System

Java Spring Boot React MySQL

A comprehensive Library Management System built with modern web technologies.

This project demonstrates a full-stack architecture with a React frontend, a Spring Boot REST API backend, and a MySQL database.


πŸš€ Overview

The Library Management System is a full-stack web application designed to manage core library operations.

The system enables librarians and administrators to manage books and library members through a web interface.
The frontend communicates with a backend Spring Boot REST API that handles business logic and database interactions.

This project demonstrates how modern web applications integrate:

  • Client-side UI
  • Backend REST APIs
  • Persistent relational databases

πŸ“Œ Project Status

This project was created to practice full-stack development using React and Spring Boot.

It currently supports CRUD operations for:

  • πŸ“š Books
  • πŸ‘€ Members

The backend exposes REST endpoints which are consumed by the React frontend.

Interactive API documentation is also available through Swagger/OpenAPI.


πŸ“˜ Key Learning Areas

β€’ Building REST APIs using Spring Boot
β€’ Implementing CRUD operations with Spring Data JPA
β€’ Structuring a layered backend architecture (Controller β†’ Service β†’ Repository)
β€’ Connecting a React frontend to backend APIs
β€’ Managing relational data using MySQL
β€’ Documenting APIs using Swagger/OpenAPI


πŸ› οΈ Tech Stack

Frontend

  • React

Backend

  • Java
  • Spring Boot
  • Spring Data JPA
  • REST APIs
  • Swagger / OpenAPI

Database

  • MySQL

✨ Features

πŸ“š Book Management

The system provides complete CRUD functionality for managing books.

Users can:

β€’ Add new books to the library catalog
β€’ View all books
β€’ Update book information
β€’ Delete books from the system


πŸ‘€ Member Management

Library members can also be managed through the API.

Users can:

β€’ Register new members
β€’ View all members
β€’ Update member information
β€’ Delete members


πŸ“‘ API Documentation

The backend includes Swagger/OpenAPI documentation.

After starting the backend server, open:


[http://localhost:8080/swagger-ui.html](http://localhost:8080/swagger-ui.html)

or


[http://localhost:8080/swagger-ui/index.html](http://localhost:8080/swagger-ui/index.html)

Swagger allows you to:

  • View all API endpoints
  • Test requests directly from the browser
  • Inspect request and response models

πŸ—οΈ Project Architecture

The application is organized into three modules:

libraryms-app-data

Contains JPA entities and persistence logic.

libraryms-app-rest

Spring Boot REST API exposing endpoints for books and members.

libraryms-app-web

React frontend that communicates with the backend API.


βš™οΈ How to Run the Project

1️⃣ Clone the repository

git clone https://github.com/kayanr/LibraryManagementSystemApp.git

2️⃣ Setup MySQL

Create the database:

CREATE DATABASE libraryms_db;

Update database credentials in:

libraryms-app-rest/src/main/resources/application.properties

3️⃣ Start the Backend

cd libraryms-app-rest
mvn spring-boot:run

Backend runs at:

http://localhost:8080

4️⃣ Start the Frontend

cd libraryms-app-web
npm install
npm start

Frontend runs at:

http://localhost:3000

πŸ“· Screenshots


πŸ“š Future Improvements

Planned enhancements include:

β€’ Implement book loans and borrowing system β€’ Add member authentication and user roles β€’ Implement search and pagination β€’ Improve frontend UI/UX β€’ Containerize the application using Docker β€’ Deploy the system to cloud infrastructure


About

Library Management System using Java, SpringBoot, React, MySQL and has the following: Frontend, Backend, and Database Read, Write, Edit, and Delete capabilities

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages