Case Study

ProGPS, built for a client in Romania: Laravel web and Flutter iOS/Android apps on Traccar's standard APIs, with live map, geofences, trips, alerts and reports.

ProGPS: a phone with a glowing route map beside a van and a sedan on a night road, and a geofence dome over a depot building
Cover

Gallery

ProGPS live map with a device card showing live status, fuel consumption, speed limit, voltage and ignition state
Trip history for selected devices over a date range, with start and end times, duration, speeds and distance
ProGPS geofence list with add, search, geofence type and remove controls beside the map
Notification feed with geofence enter, device stopped, ignition off and ignition on events
Summary report with device and date filters, total distance and fuel, a trip table and PDF and Excel export
Add New Device dialog asking for the tracker's unique identifier, over grouped devices on the map
ProGPS web sign-in page with logo, email and password fields, remember me, password reset and sign-up link
ProGPS Flutter app splash, login and dashboard with online, offline, moving and ignition status tiles
ProGPS mobile trip screen with a route map, day picker and a timeline of stops and moves
ProGPS mobile live tracking map of Europe with clustered vehicle markers

The challenge

A tracking engine is not a product. Traccar, the open-source GPS server, already knows how to talk to trackers, store positions and raise events. What a fleet team needs sits on top: a map they can read at a glance, the state of each vehicle in one card, geofences they can manage, trips they can look back on, alerts when the ignition goes on or a vehicle enters a zone, and reports that answer "how far, how much fuel". And they need it on the phone, not only at a desk. ProGPS is that product. We built it for a client in Romania on Traccar's standard tracking APIs.

Architecture

- Trackers → Traccar. A standard Traccar server provides the tracking APIs: devices, positions and events. No server, API or protocol changes were made. - ProGPS web app (Laravel) ↔ Traccar APIs. The web app reads device state, trips and events through Traccar's standard APIs and adds the ProGPS interface: live map, device panel, geofences, trips, notifications and reports. - ProGPS mobile app (Flutter, Android and iOS) ↔ Traccar APIs. The same tracking data in one Flutter codebase for both platforms: dashboard, trips and live tracking. - Maps. Google map controls with Map, Satellite and OpenStreetMap layers on the web; Google Maps in the Android and iOS app.

Solution

What the fleet team gets in the ProGPS web app: - Live map and device panel. A floating panel over a full-screen map, with device search, groups and an Add Device button. Each device card shows live and geofence status, the address, fuel consumption, speed limit, time since the last update, speed, signal, voltage and ignition state. - Geofences. Geofences drawn on the map, such as a circle around a site, and a geofence list with search, type and remove. - Trips. Pick several vehicles and a date range to get their trips, each with start and end time, start and end address, duration, average and maximum speed and distance, plus a replay button. - Notifications. A searchable feed of events such as ignition on, ignition off, device stopped and geofence enter. - Reports. A reports window with report type, device and date filters, total distance and total fuel, a summary table (distance, speeds, start and end odometer, engine hours, fuel spent) and PDF and Excel export. - Device onboarding. New trackers are added by their unique identifier. - Branded access. A ProGPS sign-in page with password reset and sign-up. And in the ProGPS mobile app (Flutter, for Android and iOS): - Dashboard. Fleet-state tiles: online, offline, stationary, stationary with ignition on, moving, located by cell tower (LBS), no actual state and no messages, plus the geofence list. - Trips. A trip screen with the route on the map, a day picker and a timeline of stops and moves. - Live Track. A live map with clustered vehicles.

Results

- The client's fleet team works in one ProGPS product on the web and on Android and iOS, instead of a raw tracking server UI. - Ignition, stop and geofence events reach them as notifications they can act on. - Distance and fuel questions are answered by a report and exported to PDF or Excel. - Traccar's standard APIs stay untouched, so the effort went into the product layer the client's users see. Tech stack - Laravel (web app) - Flutter (mobile app for Android and iOS) - Traccar (standard tracking APIs: devices, positions, events) - Google Maps and OpenStreetMap layers Next step Building a tracking product on Traccar and need the web app and the mobile app your fleet team will use? https://techmania.solutions

LaravelFlutter (Android and iOS)Traccar (standard tracking APIs: devices, positions, events)Google Maps and OpenStreetMap layers

Related project

ProGPS

ProGPS: Laravel web and Flutter iOS/Android apps we built for a client in Romania on Traccar's standard APIs: live tracking, geofences, trips, fuel reports.

View project in portfolio
← All case studies