← work.

Sistem Koperasi

Ordering and inventory system for a school cooperative

role
Full-stack
stack
Laravel · Livewire · Blade · Fortify · Tailwind CSS
year
2026
Sistem Koperasi

the problem

The cooperative at SMA Yos Sudarso ran on paper. Each order was written on two matching copies, one kept by the student and one by the koperasi, and both had to be updated by hand as the order moved along. When only one copy was updated, or updated only part way, the two disagreed and there was no reliable record of what had actually been ordered or collected. The system replaces that paper pair with a single shared source of truth.

the domain

The schema models students grouped into classes, categorised items with size-based pricing, and orders composed of individual order items. Each order item carries its own pickup and payment state rather than the order as a whole, because some items are pre-ordered and are not ready at the time of purchase. Items in one order become available and get collected at different times, so tracking pickup per item lets a student take what is ready without waiting for the rest.

An order detail: two items, each with its own paid toggle and pickup status, alongside the student, class, and pickup code.
Each order item carries its own pickup and payment state, not the order as a whole.

reporting

Staff work from Excel, so the system exports to it directly: an orders summary, a detailed per-item sheet, and a size-grouping export that aggregates how many of each size to order. In practice the cooperative's admin at the school is the one running these exports.

The size-grouping view for one item: students bucketed by size (S, M, L, XL) with per-size and total quantities.
The size-grouping report, aggregating how many of each size to order. Every table here also exports to Excel.