JC Java Training - Library Management API
A comprehensive Spring Boot REST API for library management with JWT authentication, OpenLibrary integration, and complete book and user management capabilities.Overview
This library management system is built with Spring Boot and demonstrates professional Java development practices. It provides a complete REST API for managing books and users, with robust authentication, external API integration, and comprehensive testing.Quick Start
Get up and running in minutes with our step-by-step guide
API Reference
Explore the complete API documentation
Architecture
Learn about the layered architecture and design patterns
Authentication
Understand JWT-based security implementation
Key Features
JWT Authentication & Authorization
JWT Authentication & Authorization
Complete CRUD Operations
Complete CRUD Operations
Full Create, Read, Update, and Delete operations for both books and users, with advanced filtering, sorting, and pagination support.
OpenLibrary Integration
OpenLibrary Integration
Seamless integration with the OpenLibrary API to search for books by ISBN and automatically populate book details.
Layered Architecture
Layered Architecture
Clean separation of concerns with distinct presentation, service, and persistence layers following industry best practices.
Global Exception Handling
Global Exception Handling
Comprehensive error handling with custom exceptions and consistent error responses across all endpoints.
Interactive API Documentation
Interactive API Documentation
Built-in Swagger/OpenAPI documentation for interactive API exploration and testing.
Technology Stack
- Framework: Spring Boot 3.5.3
- Language: Java 21
- Database: PostgreSQL with JPA/Hibernate
- Security: Spring Security with JWT
- API Documentation: Swagger/OpenAPI
- Object Mapping: MapStruct
- Build Tool: Maven
- Testing: JUnit, Spring Test
What You’ll Learn
This project serves as a comprehensive Java training resource, covering:- Building REST APIs with Spring Boot
- Implementing JWT authentication and authorization
- Working with JPA and PostgreSQL databases
- Integrating external APIs
- Applying layered architecture patterns
- Writing unit and integration tests
- Using MapStruct for DTO mapping
- Implementing global exception handling
Getting Started
Clone & Configure
Clone the repository and configure your database connection in
application.properties.Need Help?
Installation Guide
Detailed setup instructions and configuration
Project Structure
Understand the codebase organization