This is a Kotlin Multiplatform project that uses 100% Compose UI and targeting
- iOS
- Android
- Desktop
- Web (Wasm)
/composeApp
is for code that will be shared across your Compose Multiplatform applications.
It contains several subfolders:
commonMain
is for code that’s common for all targets.- Other folders are for Kotlin code that will be compiled for only the platform indicated in the folder name.
For example, if you want to use Apple’s CoreCrypto for the iOS part of your Kotlin app,
iosMain
would be the right folder for such calls.
/iosApp
contains iOS applications. Even if you’re sharing your UI with Compose Multiplatform,
you need this entry point for your iOS app. This is also where you should add SwiftUI code for your project.
Unofficial InShorts News API API was used to get the news shown in the apps.
- Kotlin: The primary programming language used for this project.
- Kotlin Multiplatform: for sharing code across platforms.
- Compose Multiplatform: for UI
- Compose Navigation: Navigation support for Compose.
- ViewModel: for managing UI-related data in a lifecycle-conscious way.
- Ktor: as API Client
- Koin: for dependency injection.
- kotlinx.coroutines: for managing asynchronous programming and coroutines in Kotlin.
- Coil: to load images from url.
- Ktlint: to format the code & enforce coding standards and style.
- and more...
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
You can open the web application by running the :composeApp:wasmJsBrowserDevelopmentRun
Gradle task.
Designed and developed by Muaz KADAN
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.