The problem
Trung Sneaker sold through a social media page and took orders by direct message. That works while volume is low, but as customer numbers grew the cracks showed: staff could not keep up with replies, every size availability question meant somebody walking to the stockroom, and there was no way to see which models actually sold.
The brief came down to three things: let customers see live availability per size, let them order without messaging anyone, and give the owner revenue figures by model.
What we built
Stock tracked per model and size
This is the part that differs most from a generic online store. A pair of shoes is not one product but a group of products by size, each with its own stock count. We designed the database that way from the start, so when a customer selects size 42 and that size is gone, the order button locks rather than creating an order that cannot be fulfilled.
Checkout without account creation
Footwear buyers are often one-time customers, and forcing registration loses orders. Checkout needs only a name, phone number and address, while order history is still stored against the phone number so returning customers get their details pre-filled.
Courier integration
Confirmed orders are pushed straight to the courier’s system, which returns a tracking number displayed back to the customer. Staff no longer re-type addresses a second time.
Two people used to watch the message inbox all day and still missed orders. Now customers place them directly and the team only approves and prints waybills.
Outcome
- Customers order themselves; staff handle approval and packing only
- No more orders accepted for sizes that are out of stock
- Owner can see which models sell, week by week
- Full source code and database handed over to the client
Technology
Frontend in plain HTML, CSS and JavaScript for fast loading on mobile connections. Backend in PHP with a MySQL database, running on Linux and Nginx. Product images are converted to WebP automatically on upload.