Skip to content

pablichjenkov/macao-sdk

Repository files navigation

Macao SDK

Macao is an Application microframework built with Compose Multiplatform.
It ships a variety of customizable navigation components such as Drawer, BottomNavigation, Pager, Panel, Topbar and Stack. But it also offers the API to expand the existing components and/or create new ones. The framework also contains an Application architecture module with APIs for App startup and a Plug-in infrastructure that allows easy integration of platform specific code into commonMain code.

-One image is worth a thousand words

macao-sdk-arch macao-component-diagram

Modules

1. Component-toolkit

This module contains the core components API. Check the Developers Guide for more information.

sourceSets {
    commonMain.dependencies {
        implementation("io.github.pablichjenkov:component-toolkit:0.7.0")
    }
}

2. Macao-sdk-app

An extension on the core API to integrate platform plug-ins in an opinionated Application architecture based on manual dependency injection. Check the Developers Guide for more information.

sourceSets {
    commonMain.dependencies {
        implementation("io.github.pablichjenkov:macao-sdk-app:0.7.0")
    }
}

3. Macao-sdk-koin

Similar to macao-sdk-app but instead of manual DI it uses koin. Check the Developers Guide for more information.

sourceSets {
    commonMain.dependencies {
        implementation("io.github.pablichjenkov:macao-sdk-koin:0.7.0")
    }
}

4. Macao-sdk-jetpack-navigation

Built on top of Jetpack Lifecycle, ViewModel, Navigation and Koin, it offers the same extendable and flexible plugin architecture but using the Google recomended libraries instead. Check the Developers Guide for more information.

Contributions

We welcome contributions from the community! If you have ideas for new features, bug fixes, or improvements, please open an issue or submit a pull request.

Built with component-toolkit

Component Toolkit Demo App

This is the App used to demo and test while developing components.

Android iOS
android-component-demo ios-component-demo
Deep Linking
desktop-deep-link-demo
Deep Linking + Request/Result between Components
desktop-deep-link-demo
Adaptive Layout
desktop-adaptive-component-demo
Web Browser
web-component-demo

Hotel Booking App

Hotel Booking An App that consumes Amadeus Self Sevice API. The Amadeus Self Sevice API is the company's public service to test the Hotel and Flight booking in their platform.

Android iOS
Web