Three operations sharing one order
Customers, stores and couriers needed to share order state without letting the interface dictate amounts, stages or payments.
I developed LB iFood for a FiveM roleplay server. The system recreates the experience of a delivery app, connecting stores, buyers and couriers throughout the flow, from order to delivery.
Customers, stores and couriers needed to share order state without letting the interface dictate amounts, stages or payments.
Build a complete delivery experience with catalog, checkout, preparation, dispatch, pickup, tracking and completion.
I developed the React/TypeScript interfaces, NUI integration, Lua client and server modules, and SQL schema evolution.
The server fetches the persisted catalog and prices, calculates amounts in cents and validates inventory before confirming a purchase.
Acceptance uses a conditional database update to prevent two couriers from claiming the same order.
Items, prices and destination are copied into the order, keeping the record consistent after catalog changes.
The customer finds a store and tracks the order. Meanwhile, the courier receives offers, accepts a delivery and follows the pickup and delivery stages.
The demo shows the original interface in Brazilian Portuguese.
The system combines the interface, FiveM context, server processing and relational persistence. Select a layer to explore the details.
The interface gives customers, couriers and store teams their own flows. Domain-specific TypeScript contracts and NUI services isolate screens, payloads and transitions without duplicating communication rules.