Back to projects
  • Mobile App
  • Dec 2025-Jul 2026

FMS-CREATE

Mobile Developer · Final academic project

A passenger-side Flutter application for electric-vehicle fleet operations, built individually inside a cross-platform FMS ecosystem as a modular monolith, along with the operator prototype variant.

FMS-CREATE passenger mobile screens beside a fleet dashboard interface from the wider team ecosystem.
  • ContributionPassenger app and operator prototypeBuilt both mobile variants within the team's FMS ecosystem.
  • ArchitectureModular monolithVariants are assembled from modules before the APK build, not installed at runtime.
  • Project statusCompleted, internal buildsThe operator variant remains a prototype. Neither variant has an app-store release.

Overview

FMS-CREATE is a fleet management system for electric bus operations. Passengers use the mobile app to see routes, stops, estimated arrivals, and the live position of a bus. A second variant serves fleet operators.

The app was my final project for the Informatics Engineering program at Politeknik Elektronika Negeri Surabaya (PENS). I built the passenger-side application and the whole operator prototype individually, inside a wider ecosystem handled by a cross-platform team. The mobile codebase is a modular monolith, built so that its modules can be orchestrated into different application variants. Each variant is assembled by choosing a set of modules before the APK build. Module selection happens at build time, not dynamically while the app runs.

A teammate built Nusantara EV Connect, the orchestration app that offers the module picker and automates the APK build. I did not build that orchestration tool. The repository is private and both Android builds stay internal, so the project has no store listing and no public demo.

My responsibilities

  • Built the passenger mobile app on a modular monolith with one runner, five feature modules, and four core modules.
  • Built the whole operator variant as a prototype on the same modular foundation.
  • Assembled each variant on the modular monolith through module registration at build time and at initialization, without runtime module installation.
  • Implemented OTP authentication, session recovery, a mobile dashboard, and vehicle tracking with Google Maps.
  • Integrated REST APIs for initial data loading and Server-Sent Events for live location updates.
  • Handled stream lifecycle, exponential backoff, secure storage, and network-aware connection recovery.
  • Developed shared infrastructure and reusable UI components with Riverpod, GoRouter, and Dio.
  • Ran manual and automated testing for app behaviour and architecture-rule compliance.
Back to projects