isaaccladandClaude Opus 4.8 6c42f18186
Deploy Ladill POS / deploy (push) Successful in 1m22s
Realtime KDS via Server-Sent Events
Replace the kitchen display's 4s polling with a pushed feed. GET /kitchen/stream
holds an SSE connection and emits the board the moment it changes (~1s tick,
heartbeat between changes), so fired/bumped/guest orders land on screen near
instantly. Bounded to ~25s per connection so PHP-FPM workers recycle — the
browser's EventSource reconnects automatically; if EventSource is unavailable it
falls back to polling /kitchen/feed. Sends X-Accel-Buffering: no so nginx streams
it, and releases the session early (DB sessions don't lock, but be safe).

feed()/stream() now share buildTickets(); behaviour of the JSON feed (initial
load + fallback) is unchanged. Suite green (12).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 20:59:36 +00:00
2026-06-24 20:59:36 +00:00

Ladill POS

In-store register at pos.ladill.com — product grid, cart, cash or Ladill Pay checkout.

Features (v1)

  • Register — catalog + quick-amount sales
  • Products — local catalog CRUD
  • Sales — history and receipt view
  • Ladill Pay — MoMo/card via source_service: pos, fee_tier: sales

Local dev

cp .env.example .env
composer install
php artisan key:generate
touch database/database.sqlite
# set DB_CONNECTION=sqlite in .env
php artisan migrate
npm install && npm run build
php artisan serve

Tests

php artisan test

Deploy

See DEPLOY.md.

Roadmap

  • CRM timeline + product import
  • Invoice receipt prefill
  • Merchant catalog import
S
Description
No description provided
Readme
2.3 MiB
Languages
PHP 57.7%
Blade 36.9%
JavaScript 3.2%
Shell 1.6%
CSS 0.6%