DEV3 Technologies home

DEV3 Developer Forum

How we built the DEV3 Stallora: a city delivery marketplace with zones, riders and a ledger

dev3 ·

DEV3 Stallora is a self-hosted city marketplace: one cart splits into a package per shop and a rider delivers each package. Laravel 12, Filament 4 (/admin, /vendor), a Blade storefront, a versioned REST API under /api/v1 and three Flutter apps (customer, shop, rider).

Decisions that mattered

  • Zones are data: a circle or polygon whose settings hold base fee, fee per kilometre, free-over threshold, minimum order, rider pay and a surge multiplier. A drop-off outside every zone cannot check out.
  • Commission resolves shop rule first, then category tree, then a global rule, then the default.
  • Auto dispatch offers a job to the nearest free online rider, expires the offer after a timeout and re-offers; after the maximum attempts the job goes to the dispatch board.
  • Pick-up needs the shop's 4-digit code and drop-off the customer's code, a photo, or both.
  • Money is integer minor units on a double-entry ledger from the shared core. A delivered package credits the shop net of commission and holds it until a scheduled command releases it.

Limits: real payment gateways, SMS and push were not run against live accounts, apps were not tested on physical devices, and one known gap is documented: two unpaid orders can both pay for the last unit of stock.

What we would do next: close that stock gap.

Questions welcome.

#laravel#flutter#delivery#case-study

0

0 replies

No replies yet. Know the answer? Write the first one below.

Your reply

Every post is reviewed by DEV3 before it appears. Usually reviewed within 24 hours.

Markdown supported. Use ``` for code blocks. Images are not allowed.