How ibrahimgoja/demo works
This is a Spring-based bookstore API. Its main purchase flow lets a user manage a cart, then check out: checkout validates the user and stock, calculates totals, creates an order, reduces book stock, and clears the cart. Other documented-by-code capabilities include book search and CRUD, user management, and direct order-item operations. The README provides no product overview; the graph relies on the sampled source and SOURCE INDEX, so unsampled controller and persistence details are shown only where their references support them.
Main entry points: mappers Entity mappers · repositories JPA repositories · Controllers REST controllers · BookService.java Book service
Components 13
API entry points
- REST controllers
src/main/java/com/bookStore/bookstore/Controllers - Books API delegate
src/main/java/com/bookStore/bookstore/openapi/support/BooksApiDelegateImpl.java
Catalog and users
- Book service
src/main/java/com/bookStore/bookstore/Services/BookService.java - Book search
src/main/java/com/bookStore/bookstore/Specifications/BookSearchSpecifications.java - User service
src/main/java/com/bookStore/bookstore/Services/UserService.java
Cart and orders
- Cart service
src/main/java/com/bookStore/bookstore/Services/CartItemService.java - Order service
src/main/java/com/bookStore/bookstore/Services/OrderService.java - Order item service
src/main/java/com/bookStore/bookstore/Services/OrderItemService.java
Domain and persistence
- Entity mappers
src/main/java/com/bookStore/bookstore/Models/mappers - Request and response DTOs
src/main/java/com/bookStore/bookstore/Models/dto - Bookstore entities
src/main/java/com/bookStore/bookstore/Models/entity - JPA repositories
src/main/java/com/bookStore/bookstore/repositories
Other components
- API client
Connections 22
- API client → REST controllers: sends requests
src/main/java/com/bookStore/bookstore/Controllers/CartItemController.java - API client → Books API delegate: calls books API
- REST controllers → Cart service: delegates cart
src/main/java/com/bookStore/bookstore/Controllers/CartItemController.java - REST controllers → Order service: delegates orders
src/main/java/com/bookStore/bookstore/Controllers/OrderController.java - REST controllers → Order item service: delegates items
src/main/java/com/bookStore/bookstore/Controllers/OrderItemController.java - REST controllers → User service: delegates users
src/main/java/com/bookStore/bookstore/Controllers/UserController.java - Books API delegate → Book service: calls catalog
src/main/java/com/bookStore/bookstore/openapi/support/BooksApiDelegateImpl.java - Books API delegate → Entity mappers: maps API data
src/main/java/com/bookStore/bookstore/openapi/support/BooksApiDelegateImpl.java - Book service → Book search: builds search
src/main/java/com/bookStore/bookstore/Services/BookService.java - Book service → JPA repositories: queries books
src/main/java/com/bookStore/bookstore/Services/BookService.java - Book service → Entity mappers: maps results
src/main/java/com/bookStore/bookstore/Services/BookService.java - User service → JPA repositories: queries users
src/main/java/com/bookStore/bookstore/Services/UserService.java - User service → Entity mappers: maps users
src/main/java/com/bookStore/bookstore/Services/UserService.java - Cart service → JPA repositories: reads and writes
src/main/java/com/bookStore/bookstore/Services/CartItemService.java - Cart service → Entity mappers: maps cart items
src/main/java/com/bookStore/bookstore/Services/CartItemService.java - Order service → JPA repositories: checks and persists
src/main/java/com/bookStore/bookstore/Services/OrderService.java - Order service → Entity mappers: maps orders
src/main/java/com/bookStore/bookstore/Services/OrderService.java - Order item service → JPA repositories: reads and writes
src/main/java/com/bookStore/bookstore/Services/OrderItemService.java - Order item service → Entity mappers: maps order items
src/main/java/com/bookStore/bookstore/Services/OrderItemService.java - JPA repositories → Bookstore entities: persists entities
src/main/java/com/bookStore/bookstore/repositories/BookRepository.java - Entity mappers → Request and response DTOs: maps API data
src/main/java/com/bookStore/bookstore/Models/mappers/BookMapper.java - Entity mappers → Bookstore entities: maps domain data
src/main/java/com/bookStore/bookstore/Models/mappers/BookMapper.java