This application is designed to evaluate the feasibility of rapid development for multiplatform applications. It leverages RelayFigma for the user interface and a Swagger-generated OpenAPI Ktor client for the backend.
Multiplatform Support: Develop once, deploy across multiple platforms. UI Design with RelayFigma: Seamless integration with Figma for efficient UI design and updates. Backend Integration: Utilizes a Swagger-generated OpenAPI Ktor client for robust backend communication.
- RelayFigma: A tool for integrating Figma designs directly into your application.
- Swagger: Used to generate the OpenAPI client for Ktor, ensuring consistent and reliable backend communication.
- Ktor: A framework for building asynchronous servers and clients in connected systems.
- check your system with KDoctor
- install JDK 17 or higher on your machine
- add
local.properties
file to the project root and set a path to Android SDK there
To run the application on android device/emulator:
- open project in Android Studio and run imported android run configuration
To build the application bundle:
- run
./gradlew :composeApp:assembleDebug
- find
.apk
file incomposeApp/build/outputs/apk/debug/composeApp-debug.apk
Run android UI tests on the connected device:./gradlew :composeApp:connectedDebugAndroidTest
Run the desktop application: ./gradlew :composeApp:run
Run desktop UI tests: ./gradlew :composeApp:jvmTest
To run the application on iPhone device/simulator:
- Open
iosApp/iosApp.xcproject
in Xcode and run standard configuration - Or use Kotlin Multiplatform Mobile plugin for Android Studio
Run iOS simulator UI tests:
./gradlew :composeApp:iosSimulatorArm64Test
Run the browser application: ./gradlew :composeApp:jsBrowserDevelopmentRun --continue
Run browser UI tests: ./gradlew :composeApp:jsBrowserTest