A Spring Boot application for managing a city library system, including books, authors, and publishers.
City Library Management System is a robust Java-based application built with Spring Boot that helps manage library resources efficiently. The system handles books, authors, and publishers with their respective relationships and addresses. It provides a complete solution for libraries to digitize their inventory and management processes.
- Java 23
- Spring Boot 3.3.5
- Spring Data JPA
- MySQL Database
- Lombok
- Maven
- JUnit (for testing)
- Git (version control)
- GitHub Actions (CI/CD)
- Book management with ISBN tracking and metadata
- Author profile management with complete biographical information
- Publisher management with address information and contact details
- Advanced search and filtering capabilities
- Inventory tracking and management
- Many-to-Many relationship between Books and Authors
- One-to-Many relationship between Publishers and Books
- One-to-One relationship between Publishers and Addresses
- RESTful API endpoints for all operations
- Data validation and error handling
- Secure database operations
- Optimized database queries
- Comprehensive logging system
- JDK 23
- MySQL Server 8.0 or higher
- Maven 3.8+
- Git
- Any Java IDE (IntelliJ IDEA recommended)
- MySQL Workbench (optional)
- Postman or similar API testing tool
-
Clone the repository:
git clone https://github.com/mucahitkayadan/CityLibrary.git
-
Navigate to project directory:
cd CityLibrary
-
Build the project:
mvn clean install
-
Run the application:
mvn spring-boot:run
The application uses MySQL as its database. Configure your database connection in src/main/resources/application.properties
: