# Fleet Ops

One operational workspace for a fictional vehicle rental fleet.

Try the demo · Features · Architecture · Deployment

Fleet Ops is the application in the `MobilityOps` repository. It brings vehicles, bookings, returns, data quality and procedures into one controlled workspace. This public edition uses **synthetic people, vehicles and activity** so you can explore the real workflows without exposing operational data. ![Fleet Ops guided demo entry](frontend/e2e/__screenshots__/highlights-main.png) *The application supports English, Dutch and French. This demo capture shows the Dutch interface.* ## Try the demo Requirements: Docker Engine with Compose and a recent `make` implementation. ```bash cp .env.example .env make demo ``` Open . No demo password is required. Choose **Highlights in 90 seconds** for a short guided tour, or enter as an operations manager or rental employee. API readiness is available at . The demo includes a deterministic dataset and a local knowledge provider. It does not require a live external AI service or production n8n endpoint. ## What you can do | Area | Workflow | | --- | --- | | Fleet and bookings | Inspect vehicle availability, booking state, returns and maintenance context. | | Controlled returns | Preview an inspection and commit the vehicle, booking, audit and outbox changes together. | | Data quality | Review rule-backed issues, assignments, deadlines and explicit customer merges. | | Knowledge | Ask procedural questions and inspect cited evidence; insufficient evidence stays unanswered. | | Integrations | See delivery state, bounded retries and correlated audit events. | | Administration | Manage roles, privacy exports, anonymisation and retention controls. | ![Fleet Ops interface overview](frontend/public/og-fleet-ops.svg) ## How it works ```mermaid flowchart LR Web[React and TypeScript] --> API[FastAPI and role checks] API --> DB[(PostgreSQL)] API --> Knowledge[Grounded knowledge provider] DB --> Outbox[Transactional outbox] Outbox --> Automation[n8n integration] ``` The API owns operational state. Return processing is transactional; external automation receives an outbox event after the database commit. The demo can use bundled n8n, while a production installation can connect to an existing instance. The frontend is responsive and supports keyboard navigation. ## Demo boundaries The local demo is intended for fictional data on a trusted development machine. Its password-free guided entry and deterministic knowledge provider make evaluation reproducible; they are not production authentication or a live RAGcore connection. Start a separate, configured installation before introducing real customer or vehicle data. For a useful first check, complete a return and inspect its audit correlation and outbox status. A committed business transaction can succeed while an external workflow is pending or unavailable; verify delivery separately rather than repeating the transaction. ## Deployment notes The Compose stack includes the web app, API, database and a local automation fallback. Copy `.env.example`, set unique credentials and an appropriate `N8N_WEBHOOK_URL`, then mount persistent PostgreSQL storage. Put the web endpoint behind HTTPS, verify `/health/ready`, and test backup and restore before use. The public source intentionally contains no private deployment configuration. For development, use `make test`, `make lint`, `make e2e` and `npm run build --prefix frontend`. The main directories are `backend/` (API and migrations), `frontend/` (UI and browser tests), `contracts/` (integration schemas), and `knowledge/` plus `seed/` (fictional demo content). ## About this public copy This repository is published from a reviewed private source commit. `PUBLIC_SOURCE_MANIFEST.json` records the source revision and file hashes. No private Git history is included. See [SECURITY.md](SECURITY.md) for vulnerability reporting and [LICENSE](LICENSE) for licensing.