Disclaimer:
This app is used for my own learning and is a WIP - do not expect everything to work here perfectly. The Compose UI for iOS and Room database are still in alpha - so don't expect them to work perfectly either.
This is a simple app that displays a list of news articles from Newsdata.io. It has the ability to preview the articles in a WebView and save them to favorites. The intent here is to try to share as much as possible between Android and iOS.
This is a Compose Multiplatform adaptation of the Android News App.
Screen.Recording.2024-12-03.at.20.56.51.mov
- Get your API key at Newsdata.io
- Create a local.properties file in the root of the project.
- Add a line
API_KEY=your_newsdata.io_key_here
- Kotlin
- Compose
- MVVM
- Coroutines, Flows
- Room
- Native Location services
- Image loading using Coil
- Dependency injection via Koin
- Networking using Ktor
- Navigation and state management using Voyager
- Date formatting using Kotlinx DateTime
- Permission handling using Moko
- Logging via Kermit
- Key- Value storage using DataStore
Planned:
- Tests
- Custom UI per platform
Design inspired by Tomas Nozina