Skip to content
All work

07Own project

car-tracker

Tracks a car’s services, fuel, trips, documents and reminders.

The problem
Keeping track of a car’s services, documents, fuel and costs by hand.
What I built
A Laravel API and Filament admin panel with reminders by date or odometer, push notifications, and a mobile client.
The result
A public repository with 100 routes and 32 test files, on a seeded database.

Built to be shown — the production work is under NDA.

  • 100 routes and 32 test files.
  • Spatie role permissions, with the admin role carrying 132 permissions on the api guard.
  • Reminders resolve by date or by odometer threshold through a single whereColumn query, plus an OdometerAdvanced event so a threshold crossed mid-day does not wait for the daily scheduled run.
  • Firebase push notifications for due and overdue reminders.
  • Laravel 13.26
  • Filament 5.7
  • PostgreSQL
  • Pest
  • Firebase Cloud Messaging

View the repository

On the phone

  • Car-tracker mobile home screen showing current mileage, a map card with the car’s last parked location, and a progress bar counting down to the next scheduled service.
    Odometer state, last known parking location and the next service interval, resolved in one call.
  • Services tab listing upcoming maintenance intervals from 40,000 km to 100,000 km, each with kilometres remaining, item count and cost in EGP.
    The service plan projected against the live odometer to compute what is due, when, and at what cost.
  • Documents list with each item badged Valid, Expiring soon or Expired, and a days-remaining countdown on the ones about to lapse.
    Expiry dates resolved into three states, with a days-left countdown and a roll-up for anything lapsing soon.

Admin panel

  • Reminders table showing date and odometer thresholds alongside a notified or pending state column.
    Reminders — each row fires on a date or an odometer threshold, with its notification state.
  • Raw JSON API response showing a resource envelope and a pagination meta block.
    API response — resource envelope with a pagination meta block.
  • Roles screen listing three roles with their permission counts on the api guard.
    Roles — permission counts per role, all on the api guard.

Need something like this built?

Taking freelance work · ~20h/week.

Start a project