How david-torosyan/diploma-online-library works
Biblios is a full-stack online library: users discover and browse books, inspect details, manage favorites and reviews, contribute books for approval, and use AI assistance and messaging. The React app routes user tasks through page-level experiences and API services to the .NET controllers; backend services coordinate domain operations and persistence. The README documents multilingual support and JWT authentication, while the tree shows the corresponding UI, identity, and messaging areas. Relationships are based on the supplied excerpts and README; unsampled subsystem wiring is kept high-level or omitted.
Main entry points: LibraryClient.ts API client · App.tsx App routes · BookController.cs Book API · UnitOfWork.cs Unit of work
Components 28
Web experience
- App routes
Frontend/my-react-app/src/App.tsx - Discovery pages
Frontend/my-react-app/src/pages/Explore.tsx - Book pages
Frontend/my-react-app/src/pages/BookDetail.tsx - Account pages
Frontend/my-react-app/src/pages/SignIn.tsx - Messenger page
Frontend/my-react-app/src/pages/Messenger.tsx - AI assistant page
Frontend/my-react-app/src/pages/AiAssistant.tsx - Discovery service
Frontend/my-react-app/src/services/discoveryService.ts - Browse service
Frontend/my-react-app/src/services/browseService.ts - Login service
Frontend/my-react-app/src/services/loginService.tsx - Chat service
Frontend/my-react-app/src/services/chatService.ts - API client
Frontend/my-react-app/src/api/LibraryClient.ts
API and domain
- Book API
Backend/LibraryAPI/LibraryAPI/Controllers/BookController.cs - User API
Backend/LibraryAPI/LibraryAPI/Controllers/UserController.cs - Chat API
Backend/LibraryAPI/LibraryAPI/Controllers/ChatController.cs - AI API
Backend/LibraryAPI/LibraryAPI/Controllers/AIAssistantController.cs - Book operations
Backend/LibraryAPI/LibraryAPI/Services/BookAuthorService.cs - Review operations
Backend/LibraryAPI/LibraryAPI/Services/ReviewService.cs - Identity operations
Backend/LibraryAPI/LibraryAPI/Services/UserService.cs - Chat operations
Backend/LibraryAPI/LibraryAPI/Services/ChatService.cs - Live chat hub
Backend/LibraryAPI/LibraryAPI/Hubs/ChatHub.cs - AI helper
Backend/LibraryAPI/LibraryAPI/Services/AIAssistantHelper.cs
Persistence
- Unit of work
Backend/LibraryAPI/Library.DAL/Repositories/UnitOfWork.cs - Domain repositories
Backend/LibraryAPI/Library.DAL/Repositories/BookRepository.cs - EF context
Backend/LibraryAPI/Library.DAL/Data/ApplicationDbContext.cs - Library database
External integrations
- Amazon S3
- AI provider
Other components
- Reader / admin
Connections 36
- Reader / admin → App routes: uses
- App routes → Discovery pages: routes to
- App routes → Book pages: routes to
- App routes → Account pages: routes to
- App routes → Messenger page: routes to
- App routes → AI assistant page: routes to
- Discovery pages → Discovery service: requests books
- Discovery pages → Browse service: searches
- Book pages → API client: requests details
- Account pages → Login service: submits credentials
- Messenger page → Chat service: exchanges messages
- AI assistant page → API client: sends prompts
- Discovery service → API client: calls
- Browse service → API client: calls
- Login service → API client: calls
- Chat service → API client: calls
- API client → Book API: HTTP requests
- API client → User API: HTTP requests
- API client → Chat API: HTTP requests
- API client → AI API: HTTP requests
- Book API → Book operations: delegates
- Book API → Unit of work: queries
- Book API → Review operations: delegates
- User API → Identity operations: delegates
- Chat API → Chat operations: delegates
- Chat API → Live chat hub: dispatches events
- AI API → AI helper: delegates
- Book operations → Unit of work: reads and writes
- Review operations → Unit of work: reads and writes
- Chat operations → Unit of work: reads and writes
- Unit of work → Domain repositories: coordinates
- Domain repositories → EF context: queries
- EF context → Library database: persists entities
- Book operations → Amazon S3: stores media
- Book API → Amazon S3: retrieves media
- AI helper → AI provider: sends prompts