Expressus

screenshot of Expressus

Kotlin Multiplatform Coffee Machine

Overview:

Expressus is a Kotlin Multiplatform (KMP) sample project designed to complement articles related to Model-View-Intent (MVI) architecture, Finite State Machine (FSM) validation, and state restoration. It acts as a playground to showcase various concepts across different platforms such as Mobile, Desktop, Android, and iOS.

Features:

  • Modules: Organized structure with shared and platform-specific modules.
  • Model-View-Intent architecture: Implemented design pattern for clear separation of concerns.
  • Finite State Machine: Validating state transitions for robust application logic.
  • State restoration: Ensuring UI state and FSM state are maintained during transitions.
  • Shared UI Compose: Ability to share composables across Desktop, Android, and iOS platforms.
  • UI State emissions using Kotlin Flow and Swift Combine Publisher: Utilizing reactive programming features for UI updates.
  • Jetpack Compose, Compose Multiplatform and SwiftUI: Integrating modern UI frameworks for enhanced user interfaces.

Summary:

Expressus offers a comprehensive Kotlin Multiplatform sample project that demonstrates the implementation of key features such as MVI architecture, FSM validation, and state restoration across different platforms including Mobile, Desktop, Android, and iOS. Developers can leverage this project as a learning tool and reference for building robust and reactive applications with shared UI components.