Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nailwal08/digitallibrary
Digital Library Project using SpringBoot
https://github.com/nailwal08/digitallibrary
backend java maven springboot webapp
Last synced: 4 days ago
JSON representation
Digital Library Project using SpringBoot
- Host: GitHub
- URL: https://github.com/nailwal08/digitallibrary
- Owner: nailwal08
- License: mit
- Created: 2024-11-02T16:32:51.000Z (5 days ago)
- Default Branch: main
- Last Pushed: 2024-11-02T17:16:47.000Z (5 days ago)
- Last Synced: 2024-11-02T17:26:57.375Z (5 days ago)
- Topics: backend, java, maven, springboot, webapp
- Language: Java
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Digital Library Management System
This project is a **Digital Library Management System** built with Spring Boot and MySQL. It provides a streamlined solution for managing a digital library, allowing unique users to borrow books, search for books by various parameters, and enabling admins to manage library resources efficiently.
## Table of Contents
- [Features](#features)
- [Technologies Used](#technologies-used)
- [Project Structure](#project-structure)
- [Database Schema](#database-schema)
- [Setup Instructions](#setup-instructions)
- [API Endpoints](#api-endpoints)
- [Usage](#usage)
- [Future Enhancements](#future-enhancements)---
## Features
- **User Management**:
- Registration and authentication of users.
- Differentiation between user roles (User and Faculty).
- User borrowing quota to limit the maximum number of books a user can borrow.
- **Book Management**:
- Book registration by admin.
- Book search by author name, title, or ISBN number.
- Borrow and return functionality with real-time updates.- **Admin Dashboard**:
- Track available and borrowed books.
- Manage library resources automatically with a simple interface.
## Technologies Used- **Backend**: Java, Spring Boot
- **Database**: MySQL
- **API Testing**: Postman
- **Dependencies**:
- Spring Boot Starter Web
- MySQL Driver
- Spring Data JPA with Hibernate and Hibernate Envers for auditing---
## Project Structure
This is a typical **Maven project** with the following main components:
- **Controller**: Handles API endpoints and user requests.
- **Entities**: Contains entity classes representing the database tables.
- **Repository**: Interfaces for database operations using JPA.
- **Service**: Business logic of the application.
- **Exception Handling**: Custom exception classes to manage application errors.---
## Database Schema
The MySQL database contains the following main tables:
- **Users**: Stores user information, including role, borrow quota, etc.
- **Books**: Contains book details (author, title, ISBN number).
- **Borrowed Books**: Tracks which books are currently borrowed by each user.---
## src/main/resources/application.propertiesspring.application.name=your_project_name
spring.datasource.url=your_DB_url
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
authority.admin=admin
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
student.book.quota=3---
mvn clean install
---
Contributions are welcome! Please fork the repository and create a pull request with your updates.
---
## License
This project is licensed under the MIT License. See the LICENSE file for details.