Project case study · Software Engineer · Android Developer

Dostava Delivery

An on-demand courier Android application with order workflows, remote and local data layers, notifications, and map-based tracking.

My role

I delivered the Android application and its mobile architecture and service integrations.

Technologies

  • Java
  • MVVM
  • Retrofit
  • Room
  • Firebase
  • Google Maps

Overview

Dostava is an on-demand courier Android application built around customer order and delivery workflows, notifications, and location-aware tracking.

Challenge

The order experience needed both remote service access and local persistence. Delivery workflows also had to coordinate app state with notifications and map-based location behavior.

My role

I delivered the Android application using Java and MVVM and integrated the remote, local, notification, and mapping services used by the product workflows.

What I built

I used Java with MVVM to separate presentation behavior from the data layers. Retrofit handles remote APIs, Room provides local persistence, Firebase supports notifications and mobile workflows, and Google Maps supplies delivery location and tracking features.

Architecture

The Android interface uses MVVM to coordinate remote APIs and local persistence, while delivery workflows connect notifications and map-based tracking. Relationships: Android Java interface to MVVM presentation; MVVM presentation to Retrofit services; Android Java interface to Room persistence; Delivery workflows to Firebase notifications; Delivery workflows to Google Maps tracking.

Android Java UI → MVVM presentation → Retrofit remote services

Android Java UI → Room local persistence

delivery workflows → Firebase notifications + Google Maps tracking

Results

Dostava was previously published under a client-owned Google Play listing. It is no longer available because the client did not continue maintenance or request updates, so this portfolio does not present a current store-download action.

Lessons

Dostava reinforced the importance of separating remote and local data responsibilities in a workflow-heavy mobile product. That separation makes order state easier to reason about when network, notification, and map events meet.