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.
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
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.
β’ 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
- React
- Java
- Spring Boot
- Spring Data JPA
- REST APIs
- Swagger / OpenAPI
- MySQL
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
Library members can also be managed through the API.
Users can:
β’ Register new members
β’ View all members
β’ Update member information
β’ Delete members
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
The application is organized into three modules:
Contains JPA entities and persistence logic.
Spring Boot REST API exposing endpoints for books and members.
React frontend that communicates with the backend API.
git clone https://github.com/kayanr/LibraryManagementSystemApp.gitCreate the database:
CREATE DATABASE libraryms_db;Update database credentials in:
libraryms-app-rest/src/main/resources/application.properties
cd libraryms-app-rest
mvn spring-boot:runBackend runs at:
http://localhost:8080
cd libraryms-app-web
npm install
npm startFrontend runs at:
http://localhost:3000
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


