Sales & Inventory System with Dual POS

Multi-warehouse inventory with two POS front-ends: a touchscreen GUI and a fast form-entry mode.

Multi-warehouse sales and inventory platform with a GUI POS and a form-style POS.

Role
Sole architect & developer

The problem

The business ran multiple warehouses and shops with no shared view of stock, so counts drifted between locations and reconciling inventory was a manual, error-prone chore.

The approach

Designed the Laravel + MySQL schema to track stock movement across every warehouse in real time, then built two POS front-ends on top of the same backend: a Vue.js touchscreen GUI for retail counters and a fast, keyboard-driven form POS for high-volume entry — so staff pick whichever interface fits how they actually work.

The outcome

Enabled centralized inventory for multiple shops/warehouses, reduced manual stock errors, and improved checkout speed.

Stack

  • Laravel
  • Vue.js
  • MySQL

How it's built

Watch the system move between operational states, and trace a single request step by step through the stack.

Dual POS & Inventory Architecture

MODE: TOUCHSCREEN GUI
Touch GUI POSRetail
Control:Visual Grid
Traffic:Checkout Active
Laravel Inventory EngineReal-Time Core
Ledger Event:Deduct Stock on Scan
Concurrency:Row-Level Atomic Locking
Central Hub
Stock:1,420 units
Retail Outlet #1
Stock:83 units (-1)
Counter clerk completes order via Touchscreen GUI. Outlet #1 inventory decrements immediately without drift.

Same inventory core, two front-ends: touchscreen GUI and fast form entry.

Atomic Multi-Warehouse Checkout

STEP 1/6
Vue.js Frontend • Counter POS
touch GUI completes order for SKU-8920 (Branch #2); barcode scanned • 0 ms local
Standard Form POS • Warehouse Entry
back-office bulk batch commits 50 units for same SKU simultaneously • inbound wire
Laravel API Gateway
bearer token authenticated; branch-scoped permission & location ID verified • ~12 ms
MySQL Core • InnoDB Engine
SELECT ... FOR UPDATE locks SKU row; prevents negative balance & stock drift • ~18 ms
Inventory Movement Ledger
stock decrements atomically at Branch #2; Central Hub reserves balance updated
Reporting & Multi-Outlet Sync
live availability syncs to admin dashboard; receipt generated • <45 ms total

← All projects