I've been working on a Weather app using Kotlin Multiplatform and Compose Multiplatform. This app uses the weatherapi.
All UI is shared between iOS and Android, using Compose Multiplatform.
Features:
🏙️ Get weather for current location in first use.
⛅ Show current day weather, including wind, rain, sunset, sunrise, moonset and moonrise.
🌦️ Show tomorrow's weather.
☀️ Show three days forecast.
🔍 Search cities.
💙 Save favorite cities.
❓ Request location permissions to the users.
Libraries used:
- Kamel - Load remote images.
- Voyager - Compose navigation.
- moko-resources - String resources.
- moko-mvvm - Used to provide ViewModel implementations.
- SqlDelight - Local database.
- DataStore - Used to save preferences.
- moko-permissions - Handle user permissions in both platforms.
- ktor - Used for networking
- koin - For dependency injection
- kotlinx-datetime - Date-time related operations
- BuildKonfig - Read values from gradle files
Github repo: https://github.com/guerrerorodrigo/compose-multiplatform-weather-app
👍🏻 1
😎 3
👍 12
💯 1
k
khalid64927
08/07/2023, 2:10 PM
Awsome! I’ve been working on achieving exactly the same thing with all those libraries.
💙 4
j
Jacob Ras
08/08/2023, 7:02 AM
Cool! I didn't know BuildKonfig yet, was already building my own variant of it. This plugin is nicer 😁
👍 2
r
Rodrigo Guerrero
08/08/2023, 7:08 AM
yes! it saved me a lot of time 😄
🙂 2
m
marzelwidmer
10/02/2023, 7:21 PM
• @Rodrigo Guerrero you change to PreCompose - Used for compose navigation.
no Voyager ? I don`t know nothing about it .. I searching about navigation...
r
Rodrigo Guerrero
10/03/2023, 7:30 AM
yes, I tried Voyager first, it was ok. However, later I found about