SaaS platform

Alemi Fleet — fleet management SaaS

📅2026
2 weeks
👥1 developer
🔒 fleet.alemi.pro/superКомпанії платформи+ Нова компаніяКомпаніяЮзериФуриСтатусDDemo Logisticscompany_id = 158DEMOЗайти як →TTransWest LLCcompany_id = 2310ActiveЗайти як →KKyiv Cargocompany_id = 324ActiveЗайти як →OOld Freightcompany_id = 412SuspendedЗайти як →🌙 Демо-компанія скидається щоночі о 03:00 — реальні дані не зачіпаютьсяТенант: TransWest LLCtripsWHERE company_id=2trucksWHERE company_id=2driversWHERE company_id=2debtsWHERE company_id=2Трек-лінк замовника/track/•••••••• 🔗ЗавантаженоВ дорозіДоставленоТенант-ізоляціяPASS Tests: 43 passed (tenancy)17 tables · BelongsToTenant scope
43
tenancy tests
17
scoped tables
1 min
new company setup

Challenge

After a successful single-tenant rollout (see the “Fleet management system” case), the product had to be sold to other carriers. Deploying a separate code copy for every small client is impossible to maintain. What was needed: one platform with fully isolated company accounts, a live demo for sales, and a public landing page that collects leads.

What was built

The system was rebuilt into a multi-tenant platform on a shared database: every company sees only its own data, the owner manages accounts from a dedicated panel, and the demo company automatically resets to a clean state every night. Every feature deliberately stays portable to a standalone instance — for PRO clients on their own domain.

1

Single-DB tenant isolation: a trait with a global scope and automatic company_id assignment across 17 tables

no query ever crosses a company boundary.

2

Fail-closed access: a suspended or expired company gets a 403; unique/exists rules are manually scoped per company, since validators bypass Eloquent scopes.

3

The /super owner panel: create a company with its first admin in a minute, suspend, expiry dates, notes and “Log in as” impersonation with a return banner.

4

Demo = tenant #1: a nightly scoped reset wipes and reseeds only the demo company's rows (GitHub Actions cron)

real companies are untouched.

5

A public cargo tracking link for the shipper: status timeline, route and delivery photos behind a token URL

no money or personal data, rate-limited.

6

Truck calendar: a weekly grid of vehicle occupancy, trip bars colored by status, and a free-trucks counter.

7

PWA: service worker, standalone mode and a driver portal on the phone

drivers advance trip stages and upload document photos.

8

SEO landing page: JSON-LD, OG markup, sitemap/robots, real product screenshots in browser frames, a lead form delivered to the owner's Telegram, GA4.

9

Per-company dictionaries: trip statuses and expense categories are seeded as defaults on company creation, cached with a per-company key.

10

43 tenancy tests cover scoping, validation, cron jobs and file uploads.

Result

One platform serves both the demo and client companies: a new company is created from the owner panel in a minute, with zero deploys. The demo returns to its reference state every night and is always presentation-ready. Pricing model: Start and Standard live on the platform, PRO is a standalone instance on the client's domain deployed from the same codebase.

Tech stack

Laravel 12Livewire 4Tailwind CSSMySQLGitHub ActionsTelegram Bot API

Have a similar challenge?

Discuss a project

Next case

System development

Fleet management system