How akram48616/library-api works
This is a Spring-based library management application. Its apparent user workflow covers authentication, catalog and member management, and borrowing/returning books, with persistence behind service/controller layers. The tree also shows token security, file uploads, daily reports/email, and health/operational support. No README text or source excerpts were provided, so relationships are shown only as unverified dashed links; implementation details and exact call ownership cannot be confirmed.
Main entry points: Controller REST controllers · Repository Domain repositories · RefreshTokenService.java Refresh token service · BookService.java Catalog services
Components 20
API
- REST controllers
src/main/java/org/example/librarymanagementsystem/Controller - Request and response DTOs
src/main/java/org/example/librarymanagementsystem/DTO
Library domain
- Catalog services
src/main/java/org/example/librarymanagementsystem/Service/BookService.java - Author services
src/main/java/org/example/librarymanagementsystem/Service/AuthorService.java - Category services
src/main/java/org/example/librarymanagementsystem/Service/CategoryService.java - Publisher services
src/main/java/org/example/librarymanagementsystem/Service/PublisherService.java - Member services
src/main/java/org/example/librarymanagementsystem/Service/MemberService.java - Borrowing services
src/main/java/org/example/librarymanagementsystem/Service/BorrowService.java - Domain repositories
src/main/java/org/example/librarymanagementsystem/Repository - Relational database
Identity and security
- Authentication service
src/main/java/org/example/librarymanagementsystem/Service/AuthService.java - Refresh token service
src/main/java/org/example/librarymanagementsystem/Service/RefreshTokenService.java - JWT security
src/main/java/org/example/librarymanagementsystem/security/JwtFilter.java
Supporting features
- File storage
src/main/java/org/example/librarymanagementsystem/Service/FileStorageService.java - Daily reports
src/main/java/org/example/librarymanagementsystem/Service/DailyReportService.java - Email delivery
src/main/java/org/example/librarymanagementsystem/Service/EmailService.java
Operations
- Token cleanup
src/main/java/org/example/librarymanagementsystem/Scheduler/TokenCleanupScheduler.java - Health indicator
src/main/java/org/example/librarymanagementsystem/actuator/LibraryHealthIndicator.java - Application bootstrap
src/main/java/org/example/librarymanagementsystem/LibraryManagementSystemApplication.java
Other components
- Library user
Connections 22
- Library user → REST controllers: sends requests
- REST controllers → Request and response DTOs: uses DTOs
- REST controllers → Catalog services: delegates to
- REST controllers → Author services: delegates to
- REST controllers → Category services: delegates to
- REST controllers → Publisher services: delegates to
- REST controllers → Member services: delegates to
- REST controllers → Borrowing services: delegates to
- REST controllers → Authentication service: delegates to
- Catalog services → Domain repositories: uses repositories
- Author services → Domain repositories: uses repositories
- Category services → Domain repositories: uses repositories
- Publisher services → Domain repositories: uses repositories
- Member services → Domain repositories: uses repositories
- Borrowing services → Domain repositories: uses repositories
- Domain repositories → Relational database: persists data
- Authentication service → Refresh token service: uses tokens
- JWT security → Refresh token service: checks tokens
- REST controllers → File storage: delegates file actions
- Daily reports → Email delivery: may send reports
- Token cleanup → Refresh token service: cleans tokens
- Application bootstrap → Health indicator: enables monitoring