Skip to content

Book Management System is a robust platform built with Spring Boot and Angular for managing book collections. It features efficient cataloging, tracking, and transaction functionalities, enhancing user experience and operational efficiency for libraries and individuals

Notifications You must be signed in to change notification settings

RuwanPradeep0/Book-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Book Management System

Table of Contents

Overview

Book Management system is a full-stack application that enables users to manage their book collections and engage with a community of book enthusiasts. It offers features such as user registration, secure email validation, book management (including creation, updating, sharing, and archiving), book borrowing with checks for availability, book return functionality, and approval of book returns. The application ensures security using JWT tokens a, while the frontend is developed using Angular with Bootstrap for styling.

Features

  • User Registration: Users can register for a new account.
  • Email Validation: Accounts are activated using secure email validation codes.
  • User Authentication: Existing users can log in to their accounts securely.
  • Book Management: Users can create, update, share, and archive their books.
  • Book Borrowing: Implements necessary checks to determine if a book is borrowable.
  • Book Returning: Users can return borrowed books.
  • Book Return Approval: Functionality to approve book returns.

Class diagram

Class diagram

Technologies Used

Backend (book-network)

  • Spring Boot 3
  • Spring Security 6
  • JWT Token Authentication
  • Spring Data JPA
  • OpenAPI and Swagger UI Documentation

Learning Objectives

By doing this project, I have learned:

  • Implementing a mono repo approach
  • Securing an application using JWT tokens with Spring Security
  • Registering users and validating accounts via email
  • Utilizing inheritance with Spring Data JPA
  • Implementing the service layer and handling application exceptions
  • Object validation using JSR-303 and Spring Validation
  • Handling custom exceptions
  • Implementing pagination and REST API best practices
  • Using Spring Profiles for environment-specific configurations
  • Documenting APIs using OpenAPI and Swagger UI
  • Implementing business requirements and handling business exceptions

License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

About

Book Management System is a robust platform built with Spring Boot and Angular for managing book collections. It features efficient cataloging, tracking, and transaction functionalities, enhancing user experience and operational efficiency for libraries and individuals

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published