Skip to content
All projects
iden

03Internship, PT. Sinar Mulia Plasindo Lestari · 2025

Koperasi POS

One system for the till, the stockroom, and a cooperative's finances. Built with a team during a three-month internship, used by managers, cashiers, and members with different permissions.

GitHub
Koperasi POS cashier screen with a cart

Overview

Koperasi POS brings a cooperative's shop and its financial services into one system. Cashiers handle sales and shifts, admins manage stock along with savings and loans, and members can see their own balances and installments.

I built it with a team during a three-month internship at PT. Sinar Mulia Plasindo Lestari.

Main stack

  • Laravel 11
  • Livewire 3
  • PostgreSQL
  • Tailwind CSS
  • SSpatie Permission
  • BBavix Wallet

Modules

  • Point of sale: open and close shifts per location, a cart, cash or member-wallet payment, and F1–F9 keyboard shortcuts.
  • Inventory: products, categories, units, locations, selling prices, stock per location, stock movements, and goods received notes (GRN).
  • Cooperative finance: savings deposits, loans, installment schedules and payments, and cash withdrawals.
  • Member portal: account summary, savings, loans, installments, withdrawals, and their own wallet history.
  • Transaction history reports (with detail and voiding) and cashier shift history.

Technical details

  • Laravel 11 on PHP 8.2+, with Livewire 3 (Volt), Laravel Breeze, Tailwind CSS, and Vite.
  • PostgreSQL as the database; some migrations use PostgreSQL-specific SQL.
  • Spatie Laravel Permission for the Admin, Cashier, and Member roles; Bavix Laravel Wallet for savings and loan balances.
  • Login uses a member ID (NRP) rather than email. Ready to deploy to Vercel (vercel-php runtime) or Heroku.

Screenshots

Cashier screen with a cartOpen full-size image
Point of sale: cart, total, and payment.
Role-based dashboardOpen full-size image
Dashboard: menus follow the user's role.
Stock per locationOpen full-size image
Stock per location and its history.
Transaction historyOpen full-size image
Transaction history: date filter, detail, and voiding.
Savings depositsOpen full-size image
Savings: principal, mandatory, and voluntary deposits.
Loans and installmentsOpen full-size image
Installments: active loans and their remaining balance.
Member account summaryOpen full-size image
Member portal: savings balance and active loans.
Login with member IDOpen full-size image
Login with a member ID (NRP).

Screenshots come from a local install with demo data; product and member names are made up.

Previous projectRABmate AINext projectSkin Lesion Classification
© 2026 Ryan Muhammad HildanContact