How matejhauschwitz/psi works
Bookstore is a React storefront backed by an ASP.NET Core API and MySQL. The principal workflow is browsing and filtering the catalogue, viewing a book and its reviews, then signing in to manage favourites or place and review orders. Separate capabilities cover account administration, book imports, and audit logs. The API and authentication wiring are visible in sampled source; several service and frontend details are represented at their documented subsystem paths because their implementations were not sampled.
Main entry points: api.ts API Client · DatabaseContext.cs Entity Context · App.tsx React Application · AdminController.cs Admin Endpoints
Components 28
Storefront
- React Application
frontend/src/App.tsx - Catalogue UI
frontend/src/pages/BooksPage.tsx - Book Detail UI
frontend/src/pages/BookDetailPage.tsx - Account And Auth UI
frontend/src/pages - Cart And Orders UI
frontend/src/components/Cart.tsx - API Client
frontend/src/services/api.ts
Accounts
- Auth Endpoints
api/api/Controllers/AuthController.cs - User Endpoints
api/api/Controllers/UserController.cs - Authentication Service
api/api/Services/AuthService.cs - User Service
api/api/Services/UserService.cs
Books And Orders
- Book Endpoints
api/api/Controllers/BooksController.cs - Book Service
api/api/Services/BookService.cs - Review Endpoints
api/api/Controllers/CommentController.cs - Comment Service
api/api/Services/CommentService.cs - Order Endpoints
api/api/Controllers/OrderController.cs - Order Service
api/api/Services/OrderService.cs
Administration
- Admin Endpoints
api/api/Controllers/AdminController.cs - Import Endpoints
api/api/Controllers/DataLoadController.cs - CSV Import
api/api/Services/LoadFromCSVService.cs - JSON Import
api/api/Services/LoadFromCdbService.cs - Audit Endpoints
api/api/Controllers/AuditController.cs - Audit Service
api/api/Services/AuditService.cs
API And Persistence
- Entity Context
api/EFModels/Data/DatabaseContext.cs - MySQL Database
Other components
- Visitor
- Registered User
- Administrator
- CSV Or JSON File
Connections 40
- Visitor → React Application: browses
- Registered User → React Application: uses
- Administrator → React Application: administers
- React Application → Catalogue UI: routes to
- React Application → Book Detail UI: routes to
- React Application → Account And Auth UI: routes to
- React Application → Cart And Orders UI: routes to
- Catalogue UI → API Client: requests catalogue
- Book Detail UI → API Client: requests details
- Account And Auth UI → API Client: requests account
- Cart And Orders UI → API Client: submits orders
- API Client → Auth Endpoints: calls auth API
- API Client → User Endpoints: calls user API
- API Client → Book Endpoints: calls books API
- API Client → Review Endpoints: calls review API
- API Client → Order Endpoints: calls order API
- Auth Endpoints → Authentication Service: delegates auth
- User Endpoints → User Service: delegates users
- Book Endpoints → Authentication Service: validates token
- Book Endpoints → Book Service: delegates books
- Review Endpoints → Comment Service: delegates reviews
- Order Endpoints → Order Service: delegates orders
- Admin Endpoints → Authentication Service: checks admin
- Admin Endpoints → User Service: manages users
- Admin Endpoints → Order Service: manages orders
- Admin Endpoints → Book Service: manages books
- Admin Endpoints → Audit Service: reads logs
- CSV Or JSON File → Import Endpoints: uploads data
- Import Endpoints → CSV Import: dispatches CSV
- Import Endpoints → JSON Import: dispatches JSON
- Authentication Service → Audit Service: logs registration
- Authentication Service → Entity Context: reads and writes
- User Service → Entity Context: reads and writes
- Book Service → Entity Context: reads and writes
- Comment Service → Entity Context: reads and writes
- Order Service → Entity Context: reads and writes
- Audit Service → Entity Context: reads and writes
- CSV Import → Entity Context: imports records
- JSON Import → Entity Context: imports records
- Entity Context → MySQL Database: persists entities