How ihsanwar/seapedia-full works
SEApedia is a multi-role marine-products marketplace with a React client and Laravel API. The principal flow runs from buyer catalogue browsing and cart checkout through seller order processing, driver delivery, and order completion; admins monitor the marketplace and handle overdue orders. Authentication and role switching support all actors. The README documents these capabilities, while sampled source confirms selected controller-to-model and client-to-auth relationships; unsampled feature links are shown only where the README describes the workflow.
Main entry points: App.jsx React application · CartController.php Shopping cart · CheckoutService.php Checkout · Seller Seller operations
Components 25
Web client
- React application
frontend/src/App.jsx - HTTP client
frontend/src/api/axiosInstance.js
Identity and access
- Auth context
frontend/src/contexts/AuthContext.jsx - Authentication API
frontend/src/api/auth.js - Auth endpoints
SEApediaBackend/app/Http/Controllers/Api/AuthController.php - Role authorization
SEApediaBackend/app/Http/Middleware/RoleMiddleware.php
Buyer commerce
- Product catalogue
SEApediaBackend/app/Http/Controllers/Api/Page/CatalogueController.php - Shopping cart
SEApediaBackend/app/Http/Controllers/Api/Buyer/CartController.php - Checkout
SEApediaBackend/app/Services/CheckoutService.php - Promos and vouchers
SEApediaBackend/app/Services/DiscountService.php - Wallet
SEApediaBackend/app/Models/Wallet.php
Marketplace operations
- Seller operations
SEApediaBackend/app/Http/Controllers/Api/Seller - Driver delivery
SEApediaBackend/app/Http/Controllers/Api/Driver/DeliveryController.php - Admin monitoring
SEApediaBackend/app/Http/Controllers/Api/Admin - Overdue handling
SEApediaBackend/app/Http/Controllers/Api/Admin/OverdueController.php
API and domain
- Order domain
SEApediaBackend/app/Models/Order.php - Store domain
SEApediaBackend/app/Models/Store.php - Product domain
SEApediaBackend/app/Models/Product.php - Public reviews
SEApediaBackend/app/Http/Controllers/Api/Page/ReviewController.php - API responses
SEApediaBackend/app/Helpers/ApiResponse.php - MySQL data
SEApediaBackend/config/database.php
Other components
- Buyer
- Seller
- Driver
- Admin
Connections 30
- Buyer → React application: uses
README.md - Seller → React application: uses
README.md - Driver → React application: uses
README.md - Admin → React application: uses
README.md - React application → Auth context: provides context
frontend/src/App.jsx - Auth context → Authentication API: calls
frontend/src/contexts/AuthContext.jsx - Authentication API → HTTP client: uses
frontend/src/contexts/AuthContext.jsx - Authentication API → Auth endpoints: requests auth
- Auth endpoints → Role authorization: issues role tokens
- Buyer → Product catalogue: browses
README.md - Buyer → Shopping cart: manages cart
README.md - Shopping cart → Product domain: checks stock
SEApediaBackend/app/Http/Controllers/Api/Buyer/CartController.php - Shopping cart → Checkout: checks out
README.md - Checkout → Promos and vouchers: applies discounts
- Checkout → Wallet: uses wallet
- Checkout → Order domain: creates order
- Seller → Seller operations: processes orders
README.md - Seller operations → Order domain: updates orders
- Seller operations → Store domain: manages store
SEApediaBackend/app/Http/Controllers/Api/Seller/ProductController.php - Seller operations → Product domain: manages products
SEApediaBackend/app/Http/Controllers/Api/Seller/ProductController.php - Driver → Driver delivery: accepts jobs
README.md - Driver delivery → Order domain: updates status
SEApediaBackend/app/Http/Controllers/Api/Driver/DeliveryController.php - Admin → Admin monitoring: monitors marketplace
README.md - Admin → Overdue handling: handles overdue
README.md - Overdue handling → Order domain: refunds orders
SEApediaBackend/app/Http/Controllers/Api/Admin/OverdueController.php - Overdue handling → Wallet: credits refunds
SEApediaBackend/app/Http/Controllers/Api/Admin/OverdueController.php - Product catalogue → Product domain: reads products
- Public reviews → MySQL data: reads and writes
- Shopping cart → MySQL data: persists cart
- API responses → MySQL data: formats API output