Back to projects

Mobile

Festival Mobile

A mobile app connected to the festival backend, designed with MVVM, UDF, StateFlow, repositories, Room as local source of truth and WorkManager synchronization.

Festival application screenshot used as mobile visual

Context

Mobile project adapting the festival domain to Android with authentication, offline-first behavior and deferred synchronization.

Role

Designed the mobile architecture, typed navigation, repositories, DTO mappers, Room database, workers and auth flows.

Stack

KotlinJetpack ComposeRoomWorkManagerExpressPostgreSQL

Architecture

Kotlin Jetpack Compose with MVVM, UDF, StateFlow, Repository pattern, manual DI, Navigation 3, Room, WorkManager and Express/PostgreSQL backend.

Key features

  • HTTP-cookie auth, automatic refresh, email verification and password reset.
  • Offline-first mode for games, reservants, festivals and reservations.
  • Synchronization with statuses, retry actions, negative local IDs and pendingDraftJson.

Learnings

  • Treat Room as the local source of truth.
  • Design network, offline and retry flows without losing drafts.
  • Separate DTO, mapper, entity and UI state in a Compose app.

Gallery

Festival application screenshot used as mobile visual 1
Festival application screenshot used as mobile visual 2
Festival application screenshot used as mobile visual 3