feat(orders): Live Kitchen Display System (KDS) View (#175)#200
feat(orders): Live Kitchen Display System (KDS) View (#175)#200anshika1179 wants to merge 3 commits into
Conversation
|
@rdodiya kindly check this pr if something need to add let me know |
There was a problem hiding this comment.
Pull request overview
This PR introduces a new Kitchen Display System (KDS) admin view (Kanban-style) with real-time order updates via STOMP/SockJS, and adjusts backend wiring for order notifications/status updates.
Changes:
- Backend: Restores Spring-managed dependency injection for order notification publishing and order building/mapping.
- Frontend: Adds
/admin/kdsroute with KDS UI (Kanban board + order cards) and role-aware admin routing. - Frontend: Adds STOMP/SockJS dependencies and WebSocket client for live updates + audible chime.
Reviewed changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| RestroHub/src/main/java/com/restroly/qrmenu/order/service/OrderNotificationService.java | Switches to constructor-injected dependencies for STOMP notifications. |
| RestroHub/src/main/java/com/restroly/qrmenu/order/service/impl/OrderServiceImpl.java | Injects OrderDirector, OrderMapper, and OrderNotificationService instead of manual instantiation. |
| RestroHub/src/main/java/com/restroly/qrmenu/order/controller/OrderController.java | Moves controller toward constructor injection (but currently breaks paymentService usage). |
| RestroHub/src/main/java/com/restroly/qrmenu/order/builder/OrderDirector.java | Converts builders to injected dependencies via @RequiredArgsConstructor. |
| RestroHub-FrontEnd/src/routes/ProtectedRoute.jsx | Adds client-side role-based route restriction for Manager/Staff to KDS/Orders/Profile. |
| RestroHub-FrontEnd/src/routes/index.jsx | Registers the new kds admin route. |
| RestroHub-FrontEnd/src/components/admin/Sidebar.jsx | Adds a “Kitchen Display” navigation entry. |
| RestroHub-FrontEnd/src/components/admin/kds/OrderCard.jsx | Adds UI card + status transition calls (currently uses incorrect API path). |
| RestroHub-FrontEnd/src/components/admin/kds/KitchenDisplaySystem.jsx | Implements KDS page, order fetching, and WebSocket live updates (currently incorrect REST + WS URLs and reconnect behavior). |
| RestroHub-FrontEnd/src/components/admin/kds/KanbanBoard.jsx | Implements 3-column Kanban layout for order statuses. |
| RestroHub-FrontEnd/package.json | Adds STOMP/SockJS dependencies. |
| RestroHub-FrontEnd/package-lock.json | Locks dependency updates (includes new Node engine requirement via @vitejs/plugin-react). |
Files not reviewed (1)
- RestroHub-FrontEnd/package-lock.json: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Hi @anshika1179 ,
Error : browser-crypto.js:3 Uncaught ReferenceError: global is not defined |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
@rdodiya check it now |
|
@rdodiya hi kindly review this pr and if modificatrion required let me know |

Closes #175
Description
Implemented a production-ready Kitchen Display System (KDS) for tablet and touch-first devices, including real-time order tracking and STOMP WebSocket integration.
Changes
OrderController,OrderNotificationService,OrderDirector, andOrderServiceImpl. Restored standard constructor injections so STOMP events are reliably broadcast to the frontend./admin/kdsroute specifically designed for the kitchen workflow.KanbanBoardandOrderCardcomponents with Pending, Preparing, and Ready queues.ADMIN,MANAGER,STAFF).Verification