Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/ranagaballah/library-managment-system


https://github.com/ranagaballah/library-managment-system

aop-aspects caching crud-application documentation junit logging mysql-database rest-api spring-boot

Last synced: 2 days ago
JSON representation

Awesome Lists containing this project

README

        

# Library Management System

The **Library Management System** is a comprehensive solution built using Spring Boot, designed to assist librarians in efficiently managing books, patrons, and borrowing records. This project provides a RESTful API enabling CRUD operations for books and patrons, as well as endpoints to handle the borrowing and returning of books.

## Table of Contents

- [Features](#features)
- [Technologies Used](#technologies-used)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Running the Application](#running-the-application)
- [Project Documentation](#project-documentation)

## Features

- **Books Management**: Create, read, update, and delete book records.
- **Patrons Management**: Handle CRUD operations for library patrons.
- **Borrowing Management**: Manage the borrowing and returning of books.
- **Unit Test**: Using Junit to test all System functionality.
- **Input validation** and **error handling**.
- features include **caching**, **logging with AOP**, and **transaction management**.

## Technologies Used

- **Spring Boot**: Framework to build the application.
- **Spring Data JPA**: For data persistence.
- **MySQL Database**: Data persistence using MySQL
- **Maven**: Dependency management and build tool.
- **Spring Web**: For building the RESTful API.

## Getting Started

Follow these instructions to set up the project locally for development and testing purposes.

### Prerequisites

Before you begin, ensure you have met the following requirements:

- **Java 11** or later installed.
- **Maven** installed.
- An IDE such as IntelliJ IDEA or Eclipse for easier development.

### Installation

1. Clone the repository:

```bash
git clone https://github.com/RanaGaballah/Library-Managment-system.git

2. Navigate to the project directory:

```bash
cd Library-Managment-system

### Run The Application

open the application in your IDE and run it

## Project Documentation

https://docs.google.com/document/d/1FpYstBCsuFNImFiyF8nzVKrr9Dfda30r9G-FHaMpUJI/edit?usp=sharing