Selected Work Case Study 01 / 02 · RMI Venture

Enterprise Resource Planning

RMI Venture
ERP System.

One Laravel platform replacing four years of spreadsheets. Orders, warehouse, factory, accounts, delivery — run from a single operating layer.

Client RMI Venture (Pvt) Ltd
Industry Garment Manufacturing
Stack Laravel · MySQL · Alpine
Year 2025

The Call

They came to us
with a problem.

Three brands. Six departments. Zero systems. Orders in email, stock on paper, accounts in a shoebox. Nothing talked to anything.

01 / Pain

Orders lived in four separate Excel files.

02 / Pain

Stock was tracked by a foreman on paper.

03 / Pain

Accounts closed the books on day 7 of the next month.

The Answer

We built one system
that runs the whole business.
One codebase. Six modules. Everything connected.

Laravel 13 · MySQL · Built in 2025

By the Numbers

Scale, measured.

Six modules. Seven roles. Three brands under one roof. The operating layer replacing four years of spreadsheets — built to handle the next ten.

Core Modules
0
Dashboard · Orders · Warehouse · Accounts · Delivery · Factory
Role Tiers
0
Admin · Manager · Accounts · Warehouse · Factory · Delivery · Viewer
Brands Managed
0
Étoile · INAF Junior · Drop — under one tenancy layer
Revenue / MTD
LKR 0
Live dashboard figure — actuals are confidential

Inside the System

Click through
the real product.

Every module, in motion. Tap a tab — or let it auto-advance. This is what the RMI team sees when they log in every morning.

rmi.oreno.lk / dashboard
01 / Dashboard

Every number, at a glance.

Revenue MTD, pending orders, low-stock alerts, recent factory arrivals. Stat cards count up. Charts render inline. Zero lag.

02 / Orders

Lifecycle, locked.

Draft → Confirmed → Packing → Dispatched → Delivered. Every status change stamped, user logged, diff recorded.

03 / Warehouse

Lot. Rack. Location.

Every lot pinned to a rack. Amber bars flag low stock. Red bars flag critical. CSV export for month-end counts.

04 / Accounts

Books in real time.

Revenue, expense, P&L — per brand, per period. No more waiting until the 7th of next month to know last month.

05 / Delivery

Dispatch, logged.

Driver, vehicle, route, drop sequence. Recorded before the van leaves. Proof-of-delivery photos attached.

06 / Factory

Arrival gate.

Vendor, lot number, piece count, quality-gate result. No arrival enters the warehouse without a factory stamp.

Click a tab — or watch it cycle

Architecture

Laravel at the core.
Six modules as spokes.

Thin controllers delegate to services. Services talk to models. Models sit on a normalized schema. Everything fans out from one kernel.

LARAVEL KERNEL 01 MODULE Dashboard 02 MODULE Orders 03 MODULE Warehouse 04 MODULE Accounts 05 MODULE Delivery 06 MODULE Factory MYSQL · ELOQUENT ORM · SERVICE LAYER

Tech Stack

Boring on purpose.
Built to last.

No framework-of-the-month. No build tooling. Laravel, MySQL, two CDN scripts. A stack that runs in ten years without an npm apocalypse.

BackendLaravel 13 · PHP 8.3Mature MVC framework with first-class Eloquent, queue system, and battle-tested auth scaffolding.
DatabaseMySQL 8Normalized schema, foreign keys, soft deletes. Single source of truth for every transaction.
TemplatingBladeServer-rendered HTML. No hydration. No bundler. No dead JS shipped to the client.
Frontend CSSTailwind (CDN)Utility-first, loaded directly. No npm, no PostCSS, no build pipeline to babysit.
ReactivityAlpine.jsDropdowns, modals, live totals — all without a Vue or React runtime.
PDF Enginebarryvdh/laravel-dompdfProforma invoices, delivery notes, packing lists. Streamed fresh, never stored.
Auth & RolesLaravel Session + HasPermissionsSession-based login with a permission trait enforcing module-level access across all 7 roles.
HostingcPanel · Shared LAMPDeployable without SSH or Docker. Upload, extract, migrate. Done.

Data Model

Normalized.
Relational. Audited.

Seven core tables. Foreign keys everywhere. Soft deletes on every destructive path. No orphan rows, no ghost references — the database enforces what the app promises.

users id · PK name email · unique role · enum(7) brand_id · FK is_active brands id · PK name prefix is_active orders id · PK order_no · unique brand_id · FK customer_id · FK status · enum qty · int amount · decimal created_by · FK deleted_at customers id · PK name phone address brand_id · FK lots id · PK lot_no · unique brand_id · FK location qty_on_hand qty_reserved low_threshold factory_arrivals id · PK lot_id · FK vendor qty_received qc_passed arrived_at deliveries id · PK order_id · FK driver vehicle dispatched_at delivered_at proof_image audit_logs id · PK user_id · FK entity entity_id action diff_json created_at

Access Control

Seven roles.
One matrix.

Every role is a set of module-level capabilities enforced by Laravel middleware. No one sees a screen they don't need; no one touches a button they don't own.

RoleDashboardOrdersWarehouse AccountsDeliveryFactorySettings
Admin
Manager
Accounts
Warehouse
Factory
Delivery
Viewer

Engineered by ØRENO

Have a backend
that's holding you back?

If your business runs on four Excel files and a WhatsApp group, we can build the operating layer that replaces all of it. Quietly, precisely, without a six-figure agency markup.