Files

67 lines
4.1 KiB
Markdown

# Fleet Ops
<p align="center"><strong>One operational workspace for a fictional vehicle rental fleet.</strong></p>
<p align="center"><a href="#try-the-demo">Try the demo</a> · <a href="#what-you-can-do">Features</a> · <a href="#how-it-works">Architecture</a> · <a href="#deployment-notes">Deployment</a></p>
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 <http://localhost:1228>. 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 <http://localhost:8128/health/ready>.
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.