Customer POS System
A point-of-sale front end in React and Redux over a Node REST API, with Postgres and maps integration.
The problem
A point-of-sale system has an unforgiving requirement: it has to stay responsive while an order is being assembled, and it has to be exactly right about money.
What I built
React with Redux for order state — a POS order is the textbook case for a single predictable store, because every part of the screen needs to agree about the same running total.
A Node and Express REST API underneath, consumed with async/await and axios, backed by PostgreSQL through an ORM. Google Maps handles delivery addressing.
Containerised with Docker; endpoints exercised through Postman during development.
Measured
- Order state stayed consistent across every panel of the interface.
- REST layer fully exercised through Postman before wiring the client.
- Dockerised for reproducible local runs.
Plan
Plan
5 items · scale 1:1What I'd redraw
Money went through JavaScript numbers. It worked for the scale we ran at, but floating point and currency is a bug waiting for a big enough order — integer cents, or a decimal type, is the only defensible choice.