Skip to content

Compose Multiplatform App for both Android and iOS designed for discovering and learning more about countries - Kotlin Multiplatform | Compose Multiplatform | Material3 | Koin | Ktor | Voyager | MongoDB Device Sync | MOKO MVVM | Kamel | Libres | KStore | Multiplatform Settings | Google Maps | Apple Maps | Napier | Kotlin Serialization

Notifications You must be signed in to change notification settings

Pablit0x/NationExplorer

Repository files navigation

Nation Explorer - Compose Multiplatform App Logo

Nation Explorer is a Compose Multiplatform offline-first mobile app (for both iOS and Android) that offers an exploration of countries worldwide. Leveraging modern technologies, it provides users with an engaging experience to discover and interact with countries across the globe.

world

Features

  • Country Details: Explore comprehensive information about countries, including flags, capital cities, area, languages spoken, currency, population, timezones and intriguing facts.
  • Interactive Maps: View countries on maps using Google Maps for Android and Apple Maps for iOS.
  • Real-time Weather: Get up-to-date weather updates for each country's capital city.
  • Engaging Game: Have some fun while learning! Test your knowledge by matching flags to their countries. Compete globally and see how you rank on the leaderboard.
  • Offline First: Use most features offline post the app's first use. Once it connects to the internet initially, it operates offline seamlessly.
  • Favorite Countries: Quickly access your preferred countries by marking them as favorites.
  • Filter by Continent and Population Size: Easily find countries based on continents and population size.

Google Play

Nation Explorer - https://bit.ly/nation-explorer

Tech Stack

  • Compose Multiplatform: UI framework that allows building declarative UIs for multiple platforms (Android, iOS, Desktop, Web)
  • Koin: Dependency Injection framework(Koin)
  • Voyager: Navigation library(Voyager)
  • Ktor Client & Kotlin Serialization: Making requests and handling responses (Ktor)
  • Google Maps & Apple Maps: Map integrations (Google Maps, Apple Maps)
  • Weather, Country, Geolocation and Country Tidbits APIs: Data sources (Weather API, Country API, Geolocation API, Country Tidbits)
  • MongoDB Device Sync: Online leaderboard with live updates (MongoDB Device Sync)
  • MOKO MVVM: ViewModel sharing (MOKO MVVM)
  • Multiplatform Settings: Persistent key-value pair storage (Multiplatform Settings)
  • KStore: Caching for offline support (KStore)
  • Libres: Resource sharing (Libres)
  • Napier: Logging library (Napier)
  • Kamel: Async media loading (Kamel)
  • Kotlin Coroutines and Flows: Managing asynchronous tasks and sequences for responsive and concurrent programming

Demo

Nation.Explorer.Demo.mp4

Screenshots

Android

Android Screenshots

Android Screenshots

Android Screenshots

Android Screenshots

Android Screenshots

iOS

iOS Screenshots

iOS Screenshots

iOS Screenshots

iOS Screenshots

iOS Screenshots

Feel free to contribute, report issues, or suggest enhancements!

About

Compose Multiplatform App for both Android and iOS designed for discovering and learning more about countries - Kotlin Multiplatform | Compose Multiplatform | Material3 | Koin | Ktor | Voyager | MongoDB Device Sync | MOKO MVVM | Kamel | Libres | KStore | Multiplatform Settings | Google Maps | Apple Maps | Napier | Kotlin Serialization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published