How nabielnx/motorku works
Motorku is a Laravel/React spare-parts POS and catalog. Customers browse the public catalog, find parts compatible with a motorcycle, place pickup orders, and check order/payment status; staff handle POS sales and owners manage stock, catalog, reporting, and store settings. The graph highlights these domain stages and the controller-to-service business-logic layer. The README documents several capabilities whose specific wiring is not visible in sampled code, so uncertain links are omitted.
Main entry points: CustomerMenuController.php Customer Orders · DokuPaymentController.php Payment Handling · Menu.jsx Browse Catalog · MotorSaya.jsx Motor Compatibility
Components 26
Customer Catalog
- Browse Catalog
resources/js/Pages/Order/Menu.jsx - Catalog Controller
app/Http/Controllers/Order/CustomerMenuController.php - Motor Compatibility
resources/js/Pages/Motorcycle/MotorSaya.jsx - Order Status
resources/js/Pages/Order/Status.jsx
Orders and Payments
- Customer Orders
app/Http/Controllers/Order/CustomerMenuController.php - Order Handling
app/Http/Controllers/Order/OrderController.php - Order Logic
app/Services/OrderService.php - Cashier POS
resources/js/Pages/POS/Index.jsx - POS Handling
app/Http/Controllers/Dashboard/PosController.php - Payment Handling
app/Http/Controllers/Payment/DokuPaymentController.php - DOKU QRIS
app/Services/DokuQrisService.php - DOKU Gateway
Catalog and Inventory
- Motorcycle Management
app/Http/Controllers/Motorcycle/MotorcycleController.php - Compatibility Logic
app/Services/MotorcycleService.php - Product Management
app/Http/Controllers/Product/ProductController.php - Product Logic
app/Services/ProductService.php - Inventory Management
app/Http/Controllers/Inventory/InventoryController.php - Stock Logic
app/Services/InventoryService.php
Store Operations
- Owner Dashboard
resources/js/Pages/Dashboard/Owner/Index.jsx - Dashboard Data
app/Http/Controllers/Dashboard/DashboardController.php - Dashboard Logic
app/Services/DashboardService.php - Sales Reports
app/Http/Controllers/Report/ReportController.php - Report Logic
app/Services/ReportService.php
Other components
- Customer
- Owner / Cashier
- Application Database
Connections 31
- Customer → Browse Catalog: browses
- Browse Catalog → Catalog Controller: requests catalog
- Catalog Controller → Application Database: reads products, categories, settings
- Customer → Motor Compatibility: selects motorcycle
- Motor Compatibility → Motorcycle Management: requests parts
- Motorcycle Management → Compatibility Logic: delegates mapping
- Compatibility Logic → Application Database: reads mappings
- Customer → Customer Orders: places order
- Catalog Controller → Customer Orders: submits order
- Customer Orders → Order Logic: creates order
- Customer Orders → Stock Logic: processes stock
- Order Logic → Application Database: persists order
- Customer → Order Status: checks status
- Order Status → Customer Orders: polls status
- Owner / Cashier → Cashier POS: records sale
- Cashier POS → POS Handling: submits sale
- Owner / Cashier → Product Management: manages catalog
- Product Management → Product Logic: delegates product changes
- Product Logic → Application Database: persists products
- Owner / Cashier → Inventory Management: manages stock
- Inventory Management → Stock Logic: delegates stock changes
- Owner / Cashier → Payment Handling: initiates QRIS
- Payment Handling → DOKU QRIS: requests payment
- DOKU QRIS → DOKU Gateway: creates invoice
- Payment Handling → Application Database: reads and updates payments
- Owner / Cashier → Owner Dashboard: views performance
- Owner Dashboard → Dashboard Data: requests metrics
- Dashboard Data → Dashboard Logic: gets statistics
- Owner / Cashier → Sales Reports: requests reports
- Sales Reports → Report Logic: gets report data
- Report Logic → Application Database: queries sales