← Back to projects
Case study 001 · Personal project — transport & services

Vehicle Fleet Management

Track vehicles, drivers and maintenance deadlines in one place.

ContextPersonal project — transport & services
TechnologiesFastAPI · Vue 3 · TypeScript · PostgreSQL · SQLAlchemy
CodeRead access on request
FleetOps dashboard — operational overview of the fleet
FleetOps dashboard — operational overview of the fleet
01 — Problem

Bringing scattered records together

Fleet records can be spread across spreadsheets, emails and manual reminders. FleetOps brings this information together so managers can see the vehicles and the work that needs to be planned.

02 — Constraints

Different kinds of deadlines

Licences and regulatory documents have expiry dates; servicing can also depend on mileage. The system needs to handle these rules and distinguish administrator permissions from manager permissions.

  • Alerts across three domains: licences, regulatory documents and servicing (by date or by mileage)
  • Admin / manager roles enforced server-side, JWT httpOnly cookie and Argon2 hashing
03 — Approach

Organising alerts and follow-up

Front-endA single place to track vehicles, drivers, documents and servicing.
Back-endAn alert engine based on dates and mileage.
DatabaseAll fleet data, centralised and kept over time.
  • Warning and critical severity levels, with manager acknowledgement and resolution
  • Paginated, filterable lists (search, status, sort) and cost tracking
The fleet: search, filters and each vehicle’s status
The fleet: search, filters and each vehicle’s status
Vehicle record: identification and operational data
Vehicle record: identification and operational data
04 — Result

Tracking alerts through to resolution

The application runs with demonstration data. It assigns severity levels to approaching deadlines and lets managers track alerts from acknowledgement to resolution.

  • 79 API routes over 14 resources: vehicles, drivers, assignments, documents, servicing, fuel, incidents, expenses, alerts…
  • Idempotent alert recalculation: re-running it never creates a duplicate (covered by a test)
  • 8 versioned schema migrations
  • 51 automated tests: 43 on the API, 8 front-end unit tests
Fleet breakdown and monthly costs at a glance
Fleet breakdown and monthly costs at a glance
Cost tracking by vehicle, category and supplier
Cost tracking by vehicle, category and supplier
Responsive interface, built for the field
Responsive interface, built for the field
Source access

On request, I can provide read-only repository access or walk you through the architecture, code and technical decisions behind this project.

Request repository access
Next project — 002Financial tracking for small businesses →
Contact

Building something new or improving an existing application?

Let’s talk about your needs, constraints and next steps.

Let’s work together
© 2026 Hamed Bouare — All rights reservedAvailable for new projectsLinkedIn