How rdodiya/restrohub works
Restroly is a multi-tenant restaurant platform: diners discover a restaurant menu, place guest orders, and can request table service; restaurant teams manage menus, orders, kitchen work, branches, and their public site; platform administrators govern users and subscriptions. The React frontend communicates with a Spring backend over REST, with PostgreSQL as the documented persistence layer. The README documents additional QR, UPI, Excel, and WhatsApp capabilities; the graph includes these without asserting unsampled implementation wiring. Sampled source confirms service-request persistence and live broadcast, but not the full order or payment call chains.
Main entry points: api.js API Client · RestaurantMenu.jsx Restaurant Site · order Order Services · ServiceRequestService.java Service Requests
Components 31
Diner Experience
- Restaurant Site
RestroHub-FrontEnd/src/pages/customer/RestaurantMenu.jsx - Menu & Cart
RestroHub-FrontEnd/src/components/customer - Order Context
RestroHub-FrontEnd/src/context/CustomerOrderContext.jsx - Table Requests
RestroHub-FrontEnd/src/components/customer/ServiceFAB.jsx
Restaurant Operations
- Admin Dashboard
RestroHub-FrontEnd/src/components/admin/dashboard/Dashboard.jsx - Menu Management
RestroHub-FrontEnd/src/components/admin/menu/Menus.jsx - Order Management
RestroHub-FrontEnd/src/components/admin/orders/Orders.jsx - Kitchen Display
RestroHub-FrontEnd/src/components/admin/kds/KitchenDisplaySystem.jsx - Branches & Tables
RestroHub-FrontEnd/src/components/admin/store - Site Customizer
RestroHub-FrontEnd/src/components/admin/marketing/website/Website.jsx - QR Management
RestroHub-FrontEnd/src/components/admin/marketing/qr/QRDisplay.jsx - Excel Menu Tools
RestroHub/src/main/java/com/restroly/qrmenu/excel
Platform Governance
- Roles & Plans
RestroHub-FrontEnd/src/components/admin/roles/UserRoleManagement.jsx - Subscriptions
RestroHub-FrontEnd/src/components/admin/subscriptions/SubscriptionManagement.jsx
Backend Services
- API Client
RestroHub-FrontEnd/src/services/common/api.js - Authentication
RestroHub/src/main/java/com/restroly/qrmenu/auth/controller/AuthController.java - Order Services
RestroHub/src/main/java/com/restroly/qrmenu/order - Service Requests
RestroHub/src/main/java/com/restroly/qrmenu/notification/service/ServiceRequestService.java - Menu Catalog
RestroHub/src/main/java/com/restroly/qrmenu/menu - Restaurant & Branch
RestroHub/src/main/java/com/restroly/qrmenu/restaurant - Subscription Services
RestroHub/src/main/java/com/restroly/qrmenu/subscription - Live Notifications
RestroHub/src/main/java/com/restroly/qrmenu/notification/service/LiveNotificationService.java - UPI Links
RestroHub/src/main/java/com/restroly/qrmenu/payment - Image Upload
RestroHub/src/main/java/com/restroly/qrmenu/config/CloudinaryService.java
External Services
- Meta WhatsApp API
- Cloudinary
Other components
- Diner
- Restaurant Staff
- Platform Admin
- PostgreSQL
- UPI Apps
Connections 44
- Diner → Restaurant Site: browses
- Restaurant Site → Menu & Cart: renders
- Menu & Cart → Order Context: updates cart
- Restaurant Site → API Client: requests data
- Order Context → API Client: submits order
- Restaurant Site → Table Requests: offers service
- Table Requests → API Client: submits request
- Restaurant Staff → Admin Dashboard: uses
- Restaurant Staff → Menu Management: manages catalog
- Restaurant Staff → Order Management: handles orders
- Restaurant Staff → Kitchen Display: prepares orders
- Restaurant Staff → Branches & Tables: manages locations
- Restaurant Staff → Site Customizer: customizes site
- Restaurant Staff → QR Management: manages QR
- Restaurant Staff → Excel Menu Tools: imports exports
- Platform Admin → Roles & Plans: governs access
- Platform Admin → Subscriptions: manages plans
- Admin Dashboard → API Client: requests data
- Menu Management → API Client: manages catalog
- Order Management → API Client: manages orders
- Kitchen Display → API Client: updates status
- Branches & Tables → API Client: manages locations
- Site Customizer → API Client: saves configuration
- Roles & Plans → API Client: manages roles
- Subscriptions → API Client: manages plans
- API Client → Authentication: REST requests
- API Client → Order Services: REST requests
- API Client → Menu Catalog: REST requests
- API Client → Restaurant & Branch: REST requests
- API Client → Service Requests: REST requests
- API Client → Subscription Services: REST requests
- API Client → UPI Links: REST requests
- API Client → Image Upload: uploads images
- Service Requests → PostgreSQL: saves requests
- Service Requests → Live Notifications: broadcasts request
- Authentication → PostgreSQL: reads user data
- Order Services → PostgreSQL: stores orders
- Menu Catalog → PostgreSQL: stores catalog
- Restaurant & Branch → PostgreSQL: stores tenant data
- Subscription Services → PostgreSQL: stores plans
- UPI Links → PostgreSQL: stores payment config
- Image Upload → Cloudinary: uploads images
- UPI Links → UPI Apps: generates deep link
- Order Services → Meta WhatsApp API: sends order alerts