How dwaryarr/simpleposcrud-ci4 works
This is a CodeIgniter 4 point-of-sale application for managing inventory, customers, cashiers, and transactions, with transaction receipt printing. The documented workflow is a browser request into the public application, route dispatch to a domain controller, and CRUD interaction with the corresponding data model and screens. The README documents MySQL setup and the application’s main features. Several domain controllers and models were not sampled, so their internal calls and view wiring are not asserted; dashed links mark those unverified relationships.
Main entry points: Routes.php POS Routes · Transaksi.php Transaction CRUD · Barang.php Barang CRUD · Konsumen.php Konsumen CRUD
Components 19
Web Runtime
- HTTP Entry
public/index.php - Request Engine
system/CodeIgniter.php - POS Routes
app/Config/Routes.php - Router
system/Router/Router.php
POS Records
- Barang CRUD
app/Controllers/Barang.php - Barang Model
app/Models/BarangModel.php - Barang Screens
app/Views/barang/index.php - Konsumen CRUD
app/Controllers/Konsumen.php - Konsumen Model
app/Models/KonsumenModel.php - Konsumen Screens
app/Views/konsumen/index.php - Kasir CRUD
app/Controllers/Kasir.php - Kasir Model
app/Models/KasirModel.php - Kasir Screens
app/Views/kasir/index.php
Sales Workflow
- Transaction CRUD
app/Controllers/Transaksi.php - Transaction Model
app/Models/TransaksiModel.php - Transaction Screens
app/Views/transaksi/index.php - Receipt View
app/Views/transaksi/struk.php
Persistence
- MySQL Database
Other components
- Browser User
Connections 20
- Browser User → HTTP Entry: requests page
- HTTP Entry → Request Engine: starts runtime
- Request Engine → Router: dispatches request
system/Router/Router.php - POS Routes → Barang CRUD: routes CRUD
app/Config/Routes.php - POS Routes → Konsumen CRUD: routes CRUD
app/Config/Routes.php - POS Routes → Kasir CRUD: routes CRUD
app/Config/Routes.php - POS Routes → Transaction CRUD: routes sales
app/Config/Routes.php - Barang CRUD → Barang Model: uses model
app/Controllers/Barang.php - Barang CRUD → Barang Screens: renders screens
- Konsumen CRUD → Konsumen Model: uses model
- Konsumen CRUD → Konsumen Screens: renders screens
- Kasir CRUD → Kasir Model: uses model
- Kasir CRUD → Kasir Screens: renders screens
- Transaction CRUD → Transaction Model: uses model
- Transaction CRUD → Transaction Screens: renders screens
- Transaction CRUD → Receipt View: prints receipt
- Barang Model → MySQL Database: reads and writes
- Konsumen Model → MySQL Database: reads and writes
- Kasir Model → MySQL Database: reads and writes
- Transaction Model → MySQL Database: reads and writes