Skip to main content

Home / Projects / Tumbas Point of Sale

Featured Project

Tumbas Point of Sale

Laravel Point of Sale application built to production-ready stage for cashier and transaction management, delivered with a 3-person team and VPS deployment.

Role

Lead Full-Stack Developer & Cloud Engineer

Duration

6 months

Team

3 developers

Tumbas Point of Sale — landscape view
Tumbas Point of Sale — portrait view

Tech Stack

Laravel · MySQL · Bootstrap · JQuery · AdminLTE

Architecture Diagram

Click a node for the decision behind it

graph LR A[Cashier Browser] --> B[Laravel Backend] B --> C[(MySQL Database)] B --> D[Reports Dashboard] click A call archNote() click B call archNote() click C call archNote() click D call archNote()
A Cashier Browser
Server-rendered pages instead of an SPA — simpler to deploy, and more reliable on the slow connections a shop actually runs on.
B Laravel Backend
Laravel and MySQL were chosen for delivery speed and team familiarity, which cut the learning curve without giving up reliability.
C MySQL Database
Stock updates go through a queue so concurrent transactions cannot race each other into a wrong count.
D Reports Dashboard
Reporting reads the same records the cashier writes, so profit-and-loss, payables, and receivables stop drifting from reality.

A Laravel-based Point of Sale application built to production-ready stage for cashier and transaction management. I led a 3-person team covering design, backend, and frontend, then handled VPS deployment, server optimization, and automated backup.

Problem

Grocery stores managed inventory, suppliers, and customers by hand. Profit-and-loss, payables, and receivables were recorded inconsistently, which turned into real financial loss.

Solution

Built a web-based Laravel POS for cashier work and transaction management, with attention to the operational flow, data handling, VPS deployment, and system backup.

Architecture Decisions

  • Chose Laravel + MySQL for rapid development and team familiarity — reducing learning curve while maintaining reliability
  • Implemented queue-based stock updates to handle concurrent transactions without race conditions
  • Server-rendered pages instead of SPA for simpler deployment and better reliability on slow connections

Trade-offs

  • Prioritized reliability over cutting-edge tech stack — the business needed stability, not innovation
  • Accepted longer initial dashboard load for complete data accuracy
  • Chose synchronous stock validation over optimistic updates to prevent overselling

Lessons Learned

  • Error handling upfront saves hours of debugging in production
  • Deployment and backup planning matter as much as feature work for business-critical cashier systems
  • Always test with realistic data volumes, not just sample data

Features

  • Product and stock management
  • Daily sales with barcode scanning
  • Multi-user access with roles
  • Sales and debt reports
  • Customer and supplier tracking
  • Return & discount handling
  • Multi-outlet and offline support
  • Real-time sales dashboard

CV Highlights

  • Built to production-ready stage
  • Led a 3-person team covering design, backend, and frontend
  • Managed VPS deployment, server optimization, and automated system backup

Challenges Overcome

  • Real-time stock updates during transactions
  • Optimizing performance for large data
  • Designing fast and intuitive cashier UI
  • Secure role-based access control
  • Integrating POS hardware (scanner, printer)