How salmawaleed-dev/book-nest-app works
BookNest is a Laravel digital library combining catalog discovery and borrowing/purchase-cart actions with personalized recommendations, profile management, and an AI assistant. Its principal user flow runs from web routes to library controllers and catalog data, with Blade views presenting results; separate authentication and admin workflows manage access and library content. The README documents recommendations, statistics, and AI capabilities beyond the sampled source. Their wiring is shown only where supported; the AI controller/service adapter and recommendation invocation were not sampled.
Main entry points: web.php Web routes · views Blade interface · Book.php Books · Category.php Categories
Components 24
Web experience
- Web routes
routes/web.php - Blade interface
resources/views - Chat browser client
public/js/app.js
Identity and access
- Authentication
app/Http/Controllers/Auth - Admin access gate
app/Http/Middleware/EnsureUserIsAdmin.php
Library catalog
- Book discovery
app/Http/Controllers/BookController.php - Category browsing
app/Http/Controllers/CategoryController.php - Cart and borrowing
app/Http/Controllers/CartController.php - Books
app/Models/Book.php - Categories
app/Models/Category.php - Application database
config/database.php
Personal discovery
- Profile management
app/Http/Controllers/ProfileController.php - User profile
app/Models/Profile.php - Recommendations
app/Services/RecommendationService.php - AI chat endpoint
app/Http/Controllers/AIChatController.php - AI service layer
app/Services/AIService.php - Catalog AI adapter
app/Services/LlmAIService.php
Administration
- Book administration
app/Http/Controllers/Admin/BookController.php - Category administration
app/Http/Controllers/Admin/CategoryController.php - User administration
app/Http/Controllers/Admin/UserController.php - Dashboard and statistics
app/Http/Controllers/Admin/DashboardController.php - Statistics
app/Http/Controllers/Admin/StatisticsController.php
Other components
- Reader / admin
- Generative AI API
Connections 39
- Reader / admin → Web routes: requests pages
- Web routes → Authentication: dispatches auth
- Web routes → Book discovery: dispatches books
- Web routes → Category browsing: dispatches categories
- Web routes → Cart and borrowing: dispatches cart
- Web routes → Profile management: dispatches profile
- Web routes → AI chat endpoint: dispatches chat
- Web routes → Book administration: dispatches admin books
- Web routes → Category administration: dispatches admin categories
- Web routes → User administration: dispatches admin users
- Web routes → Dashboard and statistics: dispatches dashboard
- Web routes → Statistics: dispatches statistics
- Web routes → Admin access gate: gates admin routes
- Authentication → Blade interface: renders auth pages
- Book discovery → Books: queries catalog
- Book discovery → Categories: queries categories
- Book discovery → Blade interface: renders book results
- Category browsing → Categories: queries categories
- Category browsing → Blade interface: renders category results
- Cart and borrowing → Books: checks and updates copies
- Cart and borrowing → Blade interface: renders cart
- Profile management → User profile: reads and updates
- Profile management → Blade interface: renders profile
- Chat browser client → AI chat endpoint: posts chat
- AI chat endpoint → AI service layer: requests response
- Catalog AI adapter → Books: queries book tools
- Catalog AI adapter → Categories: queries category tools
- Catalog AI adapter → Generative AI API: sends prompts
- Book administration → Books: manages catalog
- Book administration → Categories: loads categories
- Category administration → Categories: manages categories
- User administration → Blade interface: renders user pages
- Dashboard and statistics → Blade interface: renders dashboard
- Statistics → Blade interface: renders statistics
- Books → Application database: persists records
- Categories → Application database: persists records
- User profile → Application database: persists profile
- Recommendations → Books: matches book data
- Recommendations → User profile: uses preferences