
EzCheckout is a case study for a point-of-sale web application, built around role-based access for admins and cashiers, with product management, cart-based transactions, and sales reporting in a single system.
A scrollable look at the finished site, exactly as a visitor would browse it.
Desktop
Mobile
The tools and technologies that came together to bring this project to life.










Each project draws on a mix of disciplines, here's how they came together on this one.
A closer look at what the finished product offers, the obstacles along the way, and what came out of it.
Configuring Role-Based Access
Admins needed the ability to define what cashiers could and couldn't access, so a configurable role and permission system was built instead of hardcoding two fixed roles.
Managing Cart State Across the App
Cart and transaction data needed to stay in sync across multiple components, so Redux was used to manage state predictably.
Keeping the Checkout Flow Fast
Cashier transactions needed to stay responsive even with a large product list, so instant product search and backend query optimization were applied.
How this project changed things for the business and its users after launch.
Images under 200KB
Custom RBAC system
End-to-end full-stack project
Before
High-resolution images across the site, not just one section, risked slowing down every page.
After
Every image across the site is compressed to WebP and kept under 200KB, keeping pages fast without a visible drop in quality.
Before
There was no personal project demonstrating a configurable permission system, not just a basic login screen.
After
Admin-configurable roles and JWT-based authentication became a concrete demonstration of access-control design skills.
Before
There was no personal case study covering a complete POS flow from product entry to transaction reporting.
After
EzCheckout became a portfolio reference demonstrating the ability to build a full-stack transaction system from scratch.