Tunas Akara
Back to Portfolio
Jastip Order & Payment System

Jastip Order & Payment System

Year: 2026Role: IT Consultant / Software Architectweb

Unpaid orders, missing addresses, and pending refunds appear in one dashboard that can be filtered by event.

Technology

Next.jsHonoTypeScriptDrizzle ORMSQLite

Jastip Order & Payment System

This system helps a jastip, or personal-shopping business, manage orders, payments, and shipping in one dashboard. Previously, the administrator searched WhatsApp and spreadsheets for order details and transfer evidence. Customers now open an invoice link to check orders, upload payment evidence, and provide an address without creating an account.

Challenge

Each bazaar brings dozens of orders with several items per customer. Payment evidence gets buried in conversations. Some items sell out before purchase, changing the invoice amount. The administrator also needs to gather addresses, calculate shipping, and refund customers when necessary.

One administrator must be able to follow the whole workflow. Order and payment status need to be clear without adding more manual checks.

Solution

The administrator creates an invoice per customer, adds items with photos, and shares a unique, hard-to-guess link through WhatsApp. An invoice can be linked to an event. Customers upload transfer evidence and provide their address on the same page.

Orders have five states: new, processing, shipped, completed, or cancelled. Item status is tracked separately to distinguish ordered, available, and unavailable items. The system calculates balances from paid items, shipping costs, and refunds.

Item price and quantity lock after payment. Shipping cost locks once paid, and the address locks when the parcel ships. New payment evidence extends the history without replacing earlier uploads. Upload limits help prevent abuse.

The system uses Next.js, Hono, Drizzle ORM, and SQLite. Tests cover balance calculations and administrator and customer workflows. The dashboard summarizes order count and value by event, alongside outstanding tasks.

Impact

The administrator can see unpaid orders, missing addresses, unentered shipping costs, and pending refunds. Locking data after specific stages reduces a source of disputes about order changes. Upload history preserves earlier payment evidence when customers submit additional files.