How handyot/motoservice works
MotoService is a motorcycle and electric-mobility commerce application with a separate admin panel. The main customer transaction path is order verification, Culqi payment, then payment, fiscal-document, and stock updates; catalog browsing and account features are distinct supporting stages. Admin catalog import and management form a separate operational branch. The README is only the generic Next.js starter text, so product capabilities are inferred from the tree and source index; unsampled page and route wiring is left unasserted.
Main entry points: charge/route.ts Charge API · server.ts Supabase · manage/route.ts Catalog Admin API · import/route.ts Import API
Components 25
Storefront
- Catalog Pages
app/repuestos/page.tsx - Moto Pages
app/motos/page.tsx - Moto Catalog Data
data/ecomoto-data.ts - Moto Catalog Service
services/ecomoto.service.ts - Cart State
lib/cart/cart-context.tsx
Commerce Operations
- Checkout
app/checkout/page.tsx - Charge API
app/api/payments/charge/route.ts - Order Service
lib/orders/order-service.ts - Culqi Payments
lib/payments/culqi.ts - Fiscal Documents
lib/documents/fiscal-service.ts - Supabase
lib/supabase/server.ts
Identity and Accounts
- Auth Pages
app/login/page.tsx - Server Auth
lib/auth/server.ts - Vehicle Accounts
lib/vehicles/vehicle-service.ts
VoltIA Assistance
- VoltIA API
app/api/voltia/asistencia/route.ts - Diagnosis Engine
lib/voltia/voltia-engine.ts - Diagnosis Core
lib/voltia/voltia-core.mjs
Administration
- Catalog Admin API
admin-panel/app/api/admin/catalog/manage/route.ts - Import API
admin-panel/app/api/admin/catalog/import/route.ts - Admin Auth
admin-panel/lib/auth/server.ts - Catalog Importer
lib/importers/import-service.ts - Catalog Reclassification
lib/catalog/reclassify-service.ts - Product Status Rules
lib/catalog/product-status-core.mjs
Other components
- Shopper
- Culqi
Connections 22
- Moto Catalog Service → Moto Catalog Data: reads data
services/ecomoto.service.ts - Checkout → Charge API: submits charge
- Charge API → Order Service: verifies order
app/api/payments/charge/route.ts - Charge API → Culqi Payments: processes charge
app/api/payments/charge/route.ts - Charge API → Supabase: records payment
app/api/payments/charge/route.ts - Charge API → Fiscal Documents: emits document
app/api/payments/charge/route.ts - Charge API → Order Service: deducts stock
app/api/payments/charge/route.ts - Culqi Payments → Culqi: charges via
- Server Auth → Supabase: reads identity
lib/auth/server.ts - Auth Pages → Server Auth: authenticates
- Vehicle Accounts → Supabase: persists vehicles
lib/vehicles/vehicle-service.ts - VoltIA API → Supabase: uses client
app/api/voltia/asistencia/route.ts - Diagnosis Engine → Diagnosis Core: delegates to
lib/voltia/voltia-engine.ts - Catalog Admin API → Admin Auth: checks access
admin-panel/app/api/admin/catalog/manage/route.ts - Catalog Admin API → Catalog Reclassification: reclassifies
admin-panel/app/api/admin/catalog/manage/route.ts - Catalog Admin API → Product Status Rules: validates status
admin-panel/app/api/admin/catalog/manage/route.ts - Import API → Admin Auth: checks access
admin-panel/app/api/admin/catalog/import/route.ts - Import API → Catalog Importer: runs import
admin-panel/app/api/admin/catalog/import/route.ts - Catalog Importer → Supabase: writes catalog
lib/importers/import-service.ts - Shopper → Catalog Pages: browses
- Shopper → Checkout: checks out
- Shopper → Auth Pages: signs in