‹ Featured WorkKasirKu cashier screen with a filled cart and running total
OPEN SOURCEOpen Source

KasirKu

Full-Stack Developer

KasirKu is a production-grade point-of-sale platform built with Next.js 15, TypeScript, Prisma, and SQLite, engineered to handle rapid food stall (warung makan) service with zero inventory drift. Every checkout executes within an ACID-compliant interactive database transaction that guarantees zero overselling, coupled with real-time cash drawer reconciliation, automated tax calculations, and native 80mm thermal receipt printing.

View Repo

Key features

ACID-compliant atomic checkout & stock ledger

Checkout requests execute inside an isolated Prisma interactive transaction ($transaction) that validates stock and applies atomic decrements to prevent overselling under concurrent clicks, recording immutable StockMove ledger entries.

Zero-latency POS terminal with dual pipelines

Designed for rapid food service, the single-screen terminal unifies live catalog search, category filtering, cart steppers, inline discounts, and automated taxes, switching seamlessly between instant QRIS validation and cash with numpad change calculation.

Shift lifecycle & cash drawer reconciliation

The shift engine tracks cashier accountability from opening cash float to end-of-day drawer close via dedicated lifecycle APIs, automatically auditing surplus or deficit variances against physical cash counts.

Hardware-ready 80mm thermal receipt printing

Receipts leverage specialized @media print rules enforcing an 80mm max-width container and total document-body isolation to output clean, marginless thermal slips directly to ESC/POS hardware, backed by 7-day revenue analytics and CSV exports.

Screens

A walk through the key screens in KasirKu, one at a time.

KasirKu cashier screen with a product grid, a filled cart and payment controls

Kasir

The screen a cashier actually lives in. A product grid sits beside the running cart, with discount, automatic tax, cash numpad and QRIS controls all reachable without a page change.

KasirKu product management screen with an add-product form and a product table

Produk

Product management. New items are added beside the live table, and stock can be nudged with inline steppers — the total value of stock on hand is shown as it changes.

KasirKu transaction history table listing recent sales with receipt links

Transaksi

The last fifty sales, newest first, each linking to its receipt. It is the quickest way to reprint a receipt or check what was sold at a given time.

KasirKu shift screen showing open and closed shifts with cash reconciliation

Shift

Shift records with the opening cash float, expected cash and QRIS totals, the physical count entered at close, and the resulting difference — the end-of-day reconciliation in one table.

KasirKu reports screen with revenue totals, a seven-day chart and best-selling products

Laporan

The reports dashboard: revenue, transaction count and average sale up top, a seven-day revenue chart, best sellers and a low-stock list, all filterable by date and exportable to CSV.

Stack

Next.jsTypeScriptTailwind CSSPrisma