Web Order Integration
Real-time order gateway connecting delivery platforms to 300+ restaurant POS systems.
Overview
A legacy system that takes orders from delivery platforms and sends them to the SoftRestaurant POS in more than 300 restaurants. I refactored it, cleaned up its logging and fixed bugs that affected orders and kitchen tickets, all while it kept running in production.
The problem
The integration was two legacy Java services, one receiving web orders and one pushing them to the POS, that had grown into tangled monoliths. Logs only went to the console, which made it hard to understand what happened with an order. There were bugs in order validation, duplicated orders and kitchen ticket printing. And on top of that, the API contract was live in more than 300 restaurants, so it couldn't change.
What I built
I refactored both codebases into a layered MVC structure and replaced console output with structured log files that rotate on their own. With the code easier to follow, I fixed the order validation, duplication and kitchen ticket printing bugs, and rebuilt the send retries so they are idempotent. The system works with PostgreSQL and MSSQL and talks to the SoftRestaurant POS.
Highlights
- Refactor of two legacy Java services into layered MVC
- Structured, rotating log files instead of console output
- Fixes for order validation, duplication and kitchen ticket printing
- Idempotent retries for order sending
- Live API contract kept intact across 300+ restaurants
Challenges
Refactoring without touching the contract
The API contract was already in production across more than 300 restaurants. I reorganized both codebases into layered MVC making sure every request and response stayed exactly the same.
Kitchen ticket lines that duplicated and vanished
I tracked down a subtle bug that silently duplicated and deleted lines on kitchen tickets. I also rebuilt the send retries to be idempotent, so repeating one never processes the same order twice.
Gallery


Results
- Order validation, duplication and kitchen ticket printing bugs fixed in production
- Refactor shipped without breaking the live contract in 300+ restaurants
- Fewer lost orders
Have a project or a role in mind?
Let's talkNext project
Desktop app + Windows service
Orbit Watchdog
Windows app that watches databases, websites, disks and backups, and restarts services on its own.