order-taking-pos
A point-of-sale platform for takeaway and retail counters, combining self-service ordering, cashier workflows and stock control in one system.
- Role
- Architecture, backend, frontend
- Period
- 2023 — Present
- Stack
Problem
TODO: replace with the real brief. Counter staff were running three disconnected tools — a till, a paper ticket system and a spreadsheet for stock. Orders were re-keyed by hand at every step, which is where the errors and the queue time came from.
Solution
TODO: replace. One system covering the whole counter: a self-service ordering surface, a cashier view, and a kitchen display, all reading the same order state. Stock decrements as orders are confirmed rather than in a nightly batch.
Architecture
TODO: replace. A Laravel API owns order state and stock, with a React front-end per surface. Writes queue locally when the network drops and reconcile on reconnect, so the till never blocks on connectivity.
Challenges
Offline writes without divergence
TODO: replace. Two tills accepting orders while offline can allocate the same last item. The resolution rule had to be decided in the domain, not left to whichever write landed second.
Stock accuracy under speed
TODO: replace. Decrementing stock on every confirmed order is correct but contended at peak. Batching within a short window kept both accuracy and throughput.
Outcome
TODO: replace with the real result, and only include figures you can actually evidence. Describe what changed for the people using it rather than what was built.