The Problem
Fleetbase addresses the complexity of building logistics and supply chain operations software from scratch. Organizations needing fleet tracking, order management, and delivery optimization typically face fragmented tools or expensive custom development. Fleetbase attempts to provide a modular operating system with a web console, API backend, and extension architecture.
What This Does
The repository contains two main projects: console/ (589 files) is an Ember.js-based admin dashboard for managing fleet operations, orders, and organizations. The api/ directory (96 files) is a Laravel PHP backend providing REST endpoints. The system supports real-time tracking, order workflows, and integration with external services.
The architecture is deliberately modular—the console/lib/fleetbase-extensions-generator/ suggests a plugin system for extending functionality. Infrastructure files (infra/, docker/, builds/) show Kubernetes and Docker support for deployment.
How It Is Wired
The import graph shows 432 internal modules with only 24 import edges—a surprisingly sparse dependency structure. The most-connected module is console/app/utils/remove-boot-loader (10 modules import it, 0 it imports), making it a leaf utility with wide reach. The console/config/environment module imports 4 modules and is imported by 0, marking it as a source node. No circular dependencies exist.
Entry points are api/resources/js/app.js and console/app/app.js. The console's admin controllers (console/app/controllers/console/admin/organizations/index.js) handle organization management. The API's RouteServiceProvider.php routes requests to controllers.
The console relies on adapters (console/app/adapters/application.js, brand.js) for data access. These form a thin layer between UI components and the API. The console/app/components/admin/widget/ directory contains dashboard widgets (kpi-tile.js, list-panel.js, chart-panel.js) that consume these adapters.
The wiring for external effects (database writes, API calls) is not fully mapped in this analysis—the import graph shows internal structure but not runtime behavior. The API's Laravel controllers and models handle persistence, but the specific call paths are unverified.
How To Use It
Setup: The repo has package.json files in both console/ and api/, plus api/composer.json for PHP dependencies. Dockerfiles exist for container builds. The README doesn't document setup commands clearly.
Configuration: Environment templates exist at api/.env.example and console/environments/.env.development (note: the latter is committed—see health issues). The API uses Laravel's standard .env configuration.
Running it: No explicit run instructions are documented in the README excerpt. The console/Dockerfile suggests a containerized deployment. Without documented commands, you'd need to inspect the Dockerfiles and scripts/ directory for the actual build process.
Real-World Use
A delivery company would deploy the API backend with PostgreSQL, configure the console to point at it, and manage drivers, orders, and zones through the dashboard. The console's dashboard widgets provide real-time KPIs; the order board offers Kanban-style workflow management. The extension generator enables custom modules for specific logistics workflows.
Code Health & Issues
Static analysis found 23 issues (6 high, 17 medium) across 4 categories:
- High - Deep nesting (x15):
api/app/Providers/RouteServiceProvider.php,console/app/controllers/console.js,console/lib/fleetbase-extensions-generator/index.jshave indentation depth of 8, making control flow hard to follow. - High - Duplicated code: 307 repeated 6-line blocks across 83 files, including
api/resources/lang/*/validation.phptranslation files. - Medium - Oversized file:
scripts/package-linker.mjsat 1059 lines. - Medium - High branching density (x6):
console/app/components/admin/widget/list-panel.jshas 32 branch points over 72 lines.
The code health audit adds 11 findings (2 high, 7 medium, 2 low):
- High - Committed
.envfiles:console/environments/.env.developmentand.env.productionare tracked. Rotate any credentials they contain. - High - Unpinned GitHub Actions: Workflows use
@v2,@v4tags instead of commit SHAs—a supply-chain risk. - Medium - No least-privilege token permissions in
create-release.yml. - Medium - No Dependabot/Renovate configured despite 5 manifest files.
- Medium - Mutable base images (
node:22.22.0-alpine3.22,nginx:alpine). - Medium - No dependency vulnerability scan in CI.
- Medium - No pre-commit secret gate.
- Medium -
persist-credentials: falsenot set on checkout incd.yml. - Medium - No non-root user in the Dockerfile.
Tests exist (197 files) and CI is configured, but the committed secrets and unpinned actions are the most urgent fixes.
The Bottom Line
Fleetbase is a substantial, well-structured logistics platform with real functionality and a sensible modular architecture. The sparse import graph suggests clean boundaries between components. The main concerns are operational: committed .env files, unpinned CI dependencies, and no automated dependency updates. Teams wanting a self-hosted logistics platform with a modern admin console and API should evaluate it, but address the security findings before production use.