James LausaFull-Stack Developer
Back to Work

Chickenamor POS

A web-based Point of Sale (POS) and restaurant management system designed to streamline operations between front-of-house cashiers and back-of-house kitchen staff for a fried chicken business.

Chickenamor POS

Role

Full-Stack Developer

Timeline

Completed May 2024

Tools

HTMLCSSJavaScriptPHPMySQLXAMPPFigma

Deliverables

Web Application, Database Architecture, Role-Based Dashboards

The Challenge

Fast-paced food service environments require seamless communication and efficient order tracking to prevent bottlenecks. For Chickenamor, the primary challenge was replacing traditional, manual ad-hoc order tracking with a centralized system that could handle the simultaneous demands of distinct user roles without creating friction. The objective of this project was to design a responsive, browser-based solution that bridged the operational gap between the front-of-house and back-of-house. We needed a platform that allowed cashiers to quickly input customer orders, specify customizations, and process payments, while providing kitchen staff with real-time tracking of order statuses from placement to preparation.

Project Screen 1

The Approach

To tackle this, I implemented a classic 3-Tier Architecture, utilizing XAMPP for local development and testing. The Presentation Tier was built using HTML, CSS, and JavaScript to create modern, minimalistic, and distinct role-based interfaces: a high-speed dashboard for cashiers and a specialized queue management view for kitchen staff. For the Application and Database tiers, PHP was used to handle core business logic, connecting directly to a highly relational MySQL database. I structured the backend around a centralized database controller (`database_functions.php`) to execute raw SQL commands. To manage dynamic data, I utilized specific SQL `UPDATE` and `INSERT` statements to handle order lifecycles, modify product inventory, and process payment records. This was paired with complex `SELECT` queries utilizing functions like `GROUP_CONCAT` to efficiently aggregate order items and summarize active tickets, seamlessly bridging the backend data complexity to the clean UI.

Architecture

The Solution

The final outcome was a fully functional, multi-page POS prototype that effectively centralized the restaurant's daily operations. Cashiers can successfully navigate a user-friendly menu display, calculate total bills including taxes, and instantly update the database, while kitchen staff can manage product inventory and update order statuses in real-time.