How quoctrieu010903/sep490_robot_orderingfood works
This is a restaurant food-ordering backend: customers and staff interact with tables, sessions, orders, catalog and payment operations through an HTTP API. The principal flow is an API order request delegated to order application logic, with table/session handling supporting dine-in use and persistence holding domain state. The tree also shows authentication, invoices, complaints, feedback, dashboards and real-time notifications. Source evidence is selective; unsampled capabilities are represented as subsystems without speculative call edges.
Main entry points: Program.cs HTTP API · AuthenticationService.cs Authentication · TableSessionService.cs Table sessions · OrderService.cs Order handling
Components 21
API and identity
- HTTP API
SEP490_Robot_FoodOrdering.API/Program.cs - Authentication
SEP490_Robot_FoodOrdering.Application/Service/Implementation/AuthenticationService.cs - JWT service
SEP490_Robot_FoodOrdering.Infrastructure/Jwt/JwtService.cs
Restaurant operations
- Order endpoints
SEP490_Robot_FoodOrdering.API/Controllers/OrderController.cs - Order handling
SEP490_Robot_FoodOrdering.Application/Service/Implementation/OrderService.cs - Table endpoints
SEP490_Robot_FoodOrdering.API/Controllers/TableController.cs - Table sessions
SEP490_Robot_FoodOrdering.Application/Service/Implementation/TableSessionService.cs - Menu and catalog
SEP490_Robot_FoodOrdering.Application/Service/Implementation/ProductService.cs - Complaints
SEP490_Robot_FoodOrdering.Application/Service/Implementation/ComplainService.cs
Payments and engagement
- Payment processing
SEP490_Robot_FoodOrdering.Application/Service/Implementation/PaymentService.cs - Invoices
SEP490_Robot_FoodOrdering.Application/Service/Implementation/InvoiceService.cs - Feedback
SEP490_Robot_FoodOrdering.Application/Service/Implementation/FeedbackService.cs - Dashboards
SEP490_Robot_FoodOrdering.Application/Service/Implementation/DashboardService.cs - Order notifications
SEP490_Robot_FoodOrdering.API/Services/OrderNotificationService.cs - SignalR hubs
SEP490_Robot_FoodOrdering.API/Hubs/OrderNotificationHub.cs - Cloudinary images
SEP490_Robot_FoodOrdering.Infrastructure/Cloudinary/CloudinaryService.cs
Persistence
- Unit of work
SEP490_Robot_FoodOrdering.Infrastructure/UnitOfWork.cs - Generic repository
SEP490_Robot_FoodOrdering.Infrastructure/Repository/GenericRepository.cs - Ordering database
SEP490_Robot_FoodOrdering.Infrastructure/Data/Persistence/RobotFoodOrderingDBContext.cs
Other components
- Customer
- Restaurant staff
Connections 19
- Customer → HTTP API: sends requests
- Restaurant staff → HTTP API: sends requests
- HTTP API → Order endpoints: routes orders
- HTTP API → Table endpoints: routes tables
- HTTP API → Authentication: uses identity
- Order endpoints → Order handling: delegates orders
SEP490_Robot_FoodOrdering.API/Controllers/OrderController.cs - Table endpoints → Table sessions: manages sessions
- Authentication → Unit of work: reads and saves
SEP490_Robot_FoodOrdering.Application/Service/Implementation/AuthenticationService.cs - Authentication → JWT service: creates tokens
SEP490_Robot_FoodOrdering.Application/Service/Implementation/AuthenticationService.cs - Authentication → Cloudinary images: uploads avatars
SEP490_Robot_FoodOrdering.Application/Service/Implementation/AuthenticationService.cs - Table sessions → Unit of work: queries and saves
SEP490_Robot_FoodOrdering.Application/Service/Implementation/TableSessionService.cs - Table sessions → Ordering database: persists session state
- Table sessions → Complaints: resolves pending
SEP490_Robot_FoodOrdering.Application/Service/Implementation/TableSessionService.cs - Unit of work → Generic repository: provides repositories
- Generic repository → Ordering database: queries and updates
SEP490_Robot_FoodOrdering.Infrastructure/Repository/GenericRepository.cs - HTTP API → SignalR hubs: maps hubs
SEP490_Robot_FoodOrdering.API/Program.cs - Order notifications → SignalR hubs: sends updates
SEP490_Robot_FoodOrdering.API/Services/OrderNotificationService.cs - Order handling → Payment processing: initiates payment
- Order handling → Invoices: creates invoices