How vijeemani/book_app works
Pubhub is a Spring MVC bookstore with user registration and account administration alongside book browsing, cart/order handling, and order-history management. The main workflow routes web requests through controllers and services to Spring Data repositories; JSPs render responses. The README specifically documents listing, editing, deleting, activating, and deactivating users, though sampled code does not establish the detailed routes for each operation. Relationships for unsampled controllers and services use SOURCE INDEX references; uncertain integrations are omitted.
Main entry points: UserService.java User service · AdminController.java Admin controller · OrderController.java Order controller · BookService.java Book service
Components 25
Web workflows
- User controller
src/main/java/com/rev/pubhub/controller/UserController.java - Admin controller
src/main/java/com/rev/pubhub/controller/AdminController.java - Book controller
src/main/java/com/rev/pubhub/controller/BookController.java - Order controller
src/main/java/com/rev/pubhub/controller/OrderController.java - Cart controller
src/main/java/com/rev/pubhub/controller/OrderedItemController.java - Profile controller
src/main/java/com/rev/pubhub/controller/ProfileController.java - User pages
src/main/webapp/auth - Book pages
src/main/webapp/bookDisplay - Order pages
src/main/webapp/orders
Application services
- User service
src/main/java/com/rev/pubhub/service/UserService.java - Book service
src/main/java/com/rev/pubhub/service/BookService.java - Order service
src/main/java/com/rev/pubhub/service/OrderService.java - Order-item service
src/main/java/com/rev/pubhub/service/OrderItemService.java - Registration validation
src/main/java/com/rev/pubhub/form/RegistrationValidation.java
Domain and persistence
- User repository
src/main/java/com/rev/pubhub/repo/UserRepository.java - Book repository
src/main/java/com/rev/pubhub/repo/BookRepository.java - Order repository
src/main/java/com/rev/pubhub/repo/OrderRepository.java - Order-item repository
src/main/java/com/rev/pubhub/repo/OrderItemRepository.java - User entity
src/main/java/com/rev/pubhub/model/User.java - Book entity
src/main/java/com/rev/pubhub/model/Book.java - Order entity
src/main/java/com/rev/pubhub/model/Order.java - Order-item entity
src/main/java/com/rev/pubhub/model/OrderItem.java
Supporting components
- Email utility
src/main/java/com/rev/pubhub/util/EmailUtil.java
Other components
- Customer
- Administrator
Connections 28
- Customer → User controller: registers or logs in
src/main/java/com/rev/pubhub/controller/UserController.java - Customer → Book controller: browses books
- Customer → Order controller: manages orders
- Administrator → Admin controller: administers
- User controller → User service: authenticates and registers
src/main/java/com/rev/pubhub/controller/UserController.java - User controller → Registration validation: validates registration
src/main/java/com/rev/pubhub/controller/UserController.java - User controller → User pages: returns pages
src/main/java/com/rev/pubhub/controller/UserController.java - Admin controller → User service: manages users
src/main/java/com/rev/pubhub/controller/AdminController.java - Admin controller → Book service: requests book operations
src/main/java/com/rev/pubhub/controller/AdminController.java - Admin controller → Order service: requests order operations
src/main/java/com/rev/pubhub/controller/AdminController.java - Admin controller → Order-item service: requests item operations
src/main/java/com/rev/pubhub/controller/AdminController.java - Book controller → Book service: lists and searches
src/main/java/com/rev/pubhub/controller/BookController.java - Book controller → Book pages: returns book pages
src/main/java/com/rev/pubhub/controller/BookController.java - Order controller → Book service: loads books
src/main/java/com/rev/pubhub/controller/OrderController.java - Order controller → Order service: places and lists orders
src/main/java/com/rev/pubhub/controller/OrderController.java - Order controller → User service: sends order details
src/main/java/com/rev/pubhub/controller/OrderController.java - Order controller → Order pages: returns order pages
src/main/java/com/rev/pubhub/controller/OrderController.java - Cart controller → Book service: loads cart books
src/main/java/com/rev/pubhub/controller/OrderedItemController.java - Profile controller → User service: loads profile data
src/main/java/com/rev/pubhub/controller/ProfileController.java - User service → User repository: reads and saves users
src/main/java/com/rev/pubhub/service/UserService.java - User service → Email utility: sends order email
src/main/java/com/rev/pubhub/service/UserService.java - Book service → Book repository: queries books
src/main/java/com/rev/pubhub/service/BookService.java - Order service → Order repository: reads and saves orders
src/main/java/com/rev/pubhub/service/OrderService.java - Order-item service → Order-item repository: queries order items
src/main/java/com/rev/pubhub/service/OrderItemService.java - User repository → User entity: persists
src/main/java/com/rev/pubhub/repo/UserRepository.java - Book repository → Book entity: persists
src/main/java/com/rev/pubhub/repo/BookRepository.java - Order repository → Order entity: persists
src/main/java/com/rev/pubhub/repo/OrderRepository.java - Order-item repository → Order-item entity: persists
src/main/java/com/rev/pubhub/repo/OrderItemRepository.java