How moladev20/rentalps works
Rental POS is an administrator-facing PlayStation rental system. Its main workflow is to select an available unit, create a timed rental with optional FnB, manage the active order, take cash or QRIS payment, then review transaction and financial reports. The Vue client calls an Express API whose controllers implement rental, catalog, payment, authentication, and reporting behavior against Prisma-backed data; QRIS uses Midtrans. Sampled controller code supports the order, payment, and reporting links shown. Other documented capabilities are represented by their exact enclosing source paths where implementation was not sampled.
Main entry points: index.ts API routes · prisma.ts Prisma client · App.vue Rental POS UI · payment.controller.ts Payment processing
Components 20
Administrator client
- Rental POS UI
client/src/App.vue - Create rental
client/src/pages/new-rental/index.vue - Session draft
client/src/pages/new-rental/composables/usePlaySessionDraft.ts - Active rental detail
client/src/pages/rental-detail/index.vue - Reports UI
client/src/pages/FinancialStatements.vue - HTTP client
client/src/helper/axios.ts
API runtime
- Express app
api/src/app.ts - API routes
api/src/routes/index.ts - Prisma client
api/src/lib/prisma.ts - Rental database
Rental operations
- Unit management
api/src/controllers/unit.controller.ts - FnB catalog
api/src/controllers/fnb.controller.ts - Rental orders
api/src/controllers/orders/order.controller.ts - Order FnB
api/src/controllers/orders/orderedFnB.controller.ts - Payment processing
api/src/controllers/transaction/payment.controller.ts
Access and reports
- Authentication
api/src/controllers/auth.controller.ts - Transaction history
api/src/controllers/transaction/transaction.controller.ts - Financial statements
api/src/controllers/transaction/transactionReport.controller.ts
Other components
- Administrator
- Midtrans Snap
Connections 29
- Administrator → Rental POS UI: uses
- Rental POS UI → Create rental: opens
- Rental POS UI → Active rental detail: opens
- Rental POS UI → Reports UI: opens
- Create rental → Session draft: collects inputs
- Session draft → HTTP client: posts order
- Active rental detail → HTTP client: manages order
- Reports UI → HTTP client: requests reports
- HTTP client → Express app: HTTP requests
- Express app → API routes: dispatches
- API routes → Authentication: routes auth
- API routes → Unit management: routes units
- API routes → FnB catalog: routes catalog
- API routes → Rental orders: routes rentals
- API routes → Order FnB: routes FnB orders
- API routes → Payment processing: routes payments
- API routes → Transaction history: routes history
- API routes → Financial statements: routes reports
- Authentication → Prisma client: reads/writes tokens
- Unit management → Prisma client: reads/writes units
- FnB catalog → Prisma client: reads/writes catalog
- Rental orders → Prisma client: creates rental
- Order FnB → Prisma client: updates order items
- Payment processing → Prisma client: records payment
- Payment processing → Midtrans Snap: creates QRIS
- Midtrans Snap → Payment processing: sends notification
- Transaction history → Prisma client: reads history
- Financial statements → Prisma client: queries totals
- Prisma client → Rental database: queries data