How vijeemani/book_application works
Pubhub is a small Spring Boot book application. Users can reach a welcome page, register or submit login credentials, and request a book list. The book-list controller obtains records through a service and repository, then renders them in a view; user actions call the user repository directly. The models represent persisted books and users, and the repository interfaces use Spring Data JPA. Email sending and LocalDate conversion exist as runtime utilities, but the excerpts do not show them connected to a user workflow.
Main entry points: UserController.java User Controller · BookController.java Book Controller · UserRepository.java User Repository · HomeController.java Home Controller
Components 18
Web and Views
- Home Controller
src/main/java/com/rev/pubhub/controller/HomeController.java - Welcome View
src/main/webapp/welcome.jsp - User Controller
src/main/java/com/rev/pubhub/controller/UserController.java - Registration View
src/main/webapp/register.jsp - Login View
src/main/webapp/login.jsp - Board View
src/main/webapp/board.jsp - Book Controller
src/main/java/com/rev/pubhub/controller/BookController.java - Book List View
src/main/webapp/user_view.jsp - Spring Boot App
src/main/java/com/rev/pubhub/PubhubApplication.java
Domain and Persistence
- Book Service
src/main/java/com/rev/pubhub/service/BookService.java - Book Repository
src/main/java/com/rev/pubhub/jsp/BookRepository.java - Book Model
src/main/java/com/rev/pubhub/model/Book.java - User Repository
src/main/java/com/rev/pubhub/jsp/UserRepository.java - User Model
src/main/java/com/rev/pubhub/model/User.java
Runtime Utilities
- Date Converter
src/main/java/com/rev/pubhub/convertor/LocalDateConvertor.java - Email Utility
src/main/java/com/rev/pubhub/util/EmailUtil.java
Other components
- Visitor
- Mail Sender
Connections 15
- Visitor → Home Controller: requests home
src/main/java/com/rev/pubhub/controller/HomeController.java - Home Controller → Welcome View: renders
src/main/java/com/rev/pubhub/controller/HomeController.java - Visitor → User Controller: submits user actions
src/main/java/com/rev/pubhub/controller/UserController.java - User Controller → Registration View: renders
src/main/java/com/rev/pubhub/controller/UserController.java - User Controller → Login View: renders
src/main/java/com/rev/pubhub/controller/UserController.java - User Controller → Board View: renders
src/main/java/com/rev/pubhub/controller/UserController.java - User Controller → User Repository: saves user
src/main/java/com/rev/pubhub/controller/UserController.java - User Controller → User Repository: checks credentials
src/main/java/com/rev/pubhub/controller/UserController.java - User Repository → User Model: persists
src/main/java/com/rev/pubhub/jsp/UserRepository.java - Visitor → Book Controller: requests book list
src/main/java/com/rev/pubhub/controller/BookController.java - Book Controller → Book Service: fetches books
src/main/java/com/rev/pubhub/controller/BookController.java - Book Service → Book Repository: loads all
src/main/java/com/rev/pubhub/service/BookService.java - Book Repository → Book Model: persists
src/main/java/com/rev/pubhub/jsp/BookRepository.java - Book Controller → Book List View: renders list
src/main/java/com/rev/pubhub/controller/BookController.java - Email Utility → Mail Sender: sends mail
src/main/java/com/rev/pubhub/util/EmailUtil.java