Skip to content

ResulSilay/dor

Repository files navigation

image
IP Address Lookup

Cross-platform IP address lookup app built with Kotlin Multiplatform (KMP) & Compose Multiplatform (CMP)
Android & iOS | Shared UI | Shared Logic | Clean Architecture

image

Android iOS
Android iOS

Overview

dor is a Kotlin Multiplatform (KMP) application that queries IP address information (country, city, ISP, etc.) from a public API and displays the results using Compose Multiplatform UI — one codebase, two native platforms (Android & iOS).

Feature Description
🧩 Toolchain Kotlin Multiplatform - KMP (Android + iOS) - Cross-platform language feature & compiler toolchain
🎨 UI Framework Compose Multiplatform - CMP - Cross-platform UI framework
🧱 Architecture MVVM (Model–View–ViewModel)
⚙️ Build System Gradle (KMP setup)

Libraries

Category Library Artifact ID Description
🧠 Language Kotlin org.jetbrains.kotlin:kotlin-test Core language & testing utilities
🎨 UI Compose Multiplatform org.jetbrains.compose Declarative UI shared across Android/iOS
📱 AndroidX Activity Compose androidx.activity:activity-compose Integrates Compose with Android lifecycle
💉 Dependency Injection Koin io.insert-koin:koin-core / io.insert-koin:koin-compose-viewmodel Lightweight DI for shared & UI layers
🌐 Networking Ktor io.ktor:ktor-client-core / ktor-client-okhttp / ktor-client-darwin HTTP client for Android & iOS
🔄 Serialization Kotlinx Serialization io.ktor:ktor-serialization-kotlinx-json JSON parsing for API responses

API Service

This application utilizes the IP-API → service to fetch detailed information about IP addresses, including location, ISP, and region data.

KMP - CMP

image

Compose Multiplatform is an optional layer for Kotlin Multiplatform applications that allows you to build declarative user interfaces once and use them for multiple target platforms. Learn more on JetBrains Blog →

License

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

    https://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.

Releases

No releases published

Packages

 
 
 

Contributors