How yuth04/vendo-api works
VENDO is a Laravel REST backend for customer apps and an admin panel. The documented customer journey spans product/catalog discovery, cart and order handling, payment, and post-order returns, refunds, or exchanges; admin capabilities include inventory, discounts, reporting, and order/revenue statistics. The graph groups those domain areas and highlights shared persistence and notification layers. Most controller code is unsampled, so links based only on documented capabilities are marked dashed and unevidenced; sampled source supports the cited model and service relationships.
Main entry points: AuthController.php Authentication · ReturnOrderController.php Returns and Exchanges · api.php REST API Routes · OrderController.php Order Management
Components 25
Commerce API
- REST API Routes
routes/api.php - Authentication
app/Http/Controllers/api/v1/Auth/AuthController.php - User Accounts
app/Models/User.php - Shopping Cart
app/Services/CartService.php - Order Management
app/Http/Controllers/api/v1/Orders/OrderController.php - Orders and Items
app/Models/Order.php - Payment Processing
app/Http/Controllers/api/v1/Payment/PaymentController.php - Payment Providers
app/Services/BakongService.php - Payment Records
app/Models/Payment.php
Catalog and Marketing
- Product Catalog
app/Http/Controllers/api/v1/ProductController.php - Products and Variants
app/Models/Product.php - Discounts
app/Http/Controllers/api/v1/Marketing/DiscountController.php
Order Aftercare
- Returns and Exchanges
app/Http/Controllers/api/v1/Orders/ReturnOrderController.php - Refund Processing
app/Services/RefundService.php - Exchange Processing
app/Services/ExchangeService.php - Return Records
app/Models/ReturnOrder.php
Admin Operations
- Admin Dashboard
app/Http/Controllers/api/v1/Admin/DashboardController.php - Reports and Exports
app/Http/Controllers/api/v1/Reports/ReportController.php
Shared Runtime
- User Notifications
app/Traits/NotifiesUsers.php - Notification Records
app/Models/Notification.php - System Logging
app/Services/SystemLogService.php - PostgreSQL
Other components
- Customer
- Admin User
- Payment Gateway
Connections 30
- Customer → REST API Routes: calls API
- Admin User → REST API Routes: calls API
- REST API Routes → Authentication: routes requests
routes/api.php - REST API Routes → Product Catalog: routes requests
routes/api.php - Authentication → User Accounts: manages accounts
app/Http/Controllers/api/v1/Auth/AuthController.php - Product Catalog → Products and Variants: reads catalog
app/Http/Controllers/api/v1/ProductController.php - Customer → Shopping Cart: manages cart
- Shopping Cart → Order Management: supports checkout
- Order Management → Orders and Items: manages orders
- Customer → Order Management: places orders
- Order Management → Payment Processing: initiates payment
- Payment Processing → Payment Providers: uses provider
app/Http/Controllers/api/v1/Payment/PaymentController.php - Payment Providers → Payment Gateway: requests payment
- Payment Providers → Payment Records: updates records
app/Services/BakongService.php - Orders and Items → Payment Records: has payment
app/Models/Order.php - Customer → Returns and Exchanges: requests return
- Returns and Exchanges → Return Records: manages returns
app/Http/Controllers/api/v1/Orders/ReturnOrderController.php - Returns and Exchanges → Refund Processing: processes refunds
app/Http/Controllers/api/v1/Orders/ReturnOrderController.php - Returns and Exchanges → Exchange Processing: processes exchanges
app/Http/Controllers/api/v1/Orders/ReturnOrderController.php - Admin User → Admin Dashboard: views statistics
- Admin User → Reports and Exports: requests reports
- Admin Dashboard → Products and Variants: reads inventory
app/Http/Controllers/api/v1/Admin/DashboardController.php - Admin Dashboard → Orders and Items: reads order data
app/Http/Controllers/api/v1/Admin/DashboardController.php - Authentication → User Notifications: creates notices
app/Http/Controllers/api/v1/Auth/AuthController.php - User Notifications → Notification Records: creates records
app/Traits/NotifiesUsers.php - Authentication → System Logging: records activity
app/Http/Controllers/api/v1/Auth/AuthController.php - System Logging → PostgreSQL: persists logs
- Orders and Items → PostgreSQL: persists orders
- Products and Variants → PostgreSQL: persists catalog
- Payment Records → PostgreSQL: persists payments