How yladraoui/book-network works
Book Network is a web application for sharing books: users register and activate accounts, discover and manage books, request borrowing, track returns, and leave feedback; administrators manage users, books, and usage statistics. The Angular UI communicates with a Spring backend through HTTP APIs, with JWT-based access control. The graph preserves the distinct catalog, lending, feedback, account, and administration capabilities visible in the tree. Backend service implementations and most UI call sites were not sampled, so uncertain internal wiring is omitted.
Main entry points: api.ts HTTP API client · BookService.java Book service · AuthenticationController.java Authentication API · book.routes.ts Book workflows
Components 25
Web interface
- Book workflows
book-network-ui/src/app/features/book/book.routes.ts - Account screens
book-network-ui/src/app/features/auth/auth.routes.ts - Profile screen
book-network-ui/src/app/features/profile/pages/profile/profile.ts - Admin dashboard
book-network-ui/src/app/features/admin/pages/admin-dashboard/admin-dashboard.ts - Feedback screens
book-network-ui/src/app/features/feedback/pages/feedback-list/feedback-list.ts - HTTP API client
book-network-ui/src/app/services/api.ts
Accounts and security
- Authentication API
book-network/src/main/java/com/yladraoui/book/auth/AuthenticationController.java - Authentication service
book-network/src/main/java/com/yladraoui/book/auth/AuthenticationService.java - JWT security
book-network/src/main/java/com/yladraoui/book/security/SecurityConfig.java - User API
book-network/src/main/java/com/yladraoui/book/user/UserController.java - User service
book-network/src/main/java/com/yladraoui/book/user/UserService.java
Books and lending
- Book API
book-network/src/main/java/com/yladraoui/book/book/BookController.java - Book service
book-network/src/main/java/com/yladraoui/book/book/BookService.java - Book repository
book-network/src/main/java/com/yladraoui/book/book/BookRepository.java - Borrow history
book-network/src/main/java/com/yladraoui/book/history/BookTransactionHistoryRepository.java
Feedback and administration
- Feedback API
book-network/src/main/java/com/yladraoui/book/feedback/FeedbackController.java - Feedback service
book-network/src/main/java/com/yladraoui/book/feedback/FeedbackService.java - Feedback repository
book-network/src/main/java/com/yladraoui/book/feedback/FeedbackRepository.java - Admin API
book-network/src/main/java/com/yladraoui/book/admin/AdminController.java - Admin service
book-network/src/main/java/com/yladraoui/book/admin/AdminService.java
Backend services and state
- User repository
book-network/src/main/java/com/yladraoui/book/user/UserRepository.java - Email service
book-network/src/main/java/com/yladraoui/book/email/EmailService.java - Cover storage
book-network/src/main/java/com/yladraoui/book/file/FileStorageService.java
Other components
- User
- Mail provider
Connections 29
- User → Account screens: registers or signs in
- User → Book workflows: browses and borrows
- User → Profile screen: manages profile
- User → Feedback screens: leaves feedback
- User → Admin dashboard: administers
- Account screens → HTTP API client: sends account requests
- Book workflows → HTTP API client: sends book requests
- Profile screen → HTTP API client: sends profile requests
- Feedback screens → HTTP API client: sends feedback requests
- Admin dashboard → HTTP API client: sends admin requests
- HTTP API client → Authentication API: HTTP requests
- HTTP API client → Book API: HTTP requests
- HTTP API client → User API: HTTP requests
- HTTP API client → Feedback API: HTTP requests
- HTTP API client → Admin API: HTTP requests
- Authentication API → Authentication service: delegates authentication
- Authentication service → Email service: sends activation mail
- Email service → Mail provider: sends email
- User API → User service: delegates profile work
- Book API → Book service: delegates book and loan work
- Book service → Cover storage: stores cover images
- Feedback API → Feedback service: delegates feedback work
- Admin API → Admin service: delegates administration
- Book service → Book repository: book state
- Book service → Borrow history: loan history
- Feedback service → Feedback repository: feedback records
- User service → User repository: user records
- Admin service → User repository: user administration
- JWT security → Authentication API: protects API