Skip to content

KhubaibKhan4/Crypto-KMP

Repository files navigation

Crypto KMP

Crypto KMP

Overview

Crypto-KMP is a Kotlin Multiplatform (KMP) project aimed at providing cryptocurrency-related functionalities across Android, iOS, Web, and Desktop platforms with shared code. This documentation provides an overview of the project structure, features, and usage instructions.

🚀 Future Plans

  • TV and Wear OS Versions

🌟 Contributions

If you wanna contribute, Please make sure to add new features & Then make a PR.Feel free to contribute to the project and stay tuned for more exciting updates!

Open To Work

Do you wanna Convert your thoughts into Physicall & Successfull Project Then I'm here for you. I'm open to work, available for Freelance or Remote Work Opportunities. Feel free to reach me out on Email.

🤝 Connect with Me

Let's chat about potential projects, job opportunities, or any other collaboration! Feel free to connect with me through the following channels:

LinkedIn Twitter Email

If you find my work helpful, you can support me by Buy me a coffee

Tech Stack Highlights

  • Kotlin Multiplatform: 1.9.23
  • AGP (Android Gradle Plugin): 8.2.2
  • Compose: 1.6.2
    • androidx-appcompat: 1.6.1
    • androidx-activityCompose: 1.9.0
    • compose-uitooling: 1.6.7
    • composeImageLoader: 1.7.1
    • composeIcons: 1.1.0
  • Core Libraries: 12.1.0
  • Kotlinx Libraries:
    • kotlinx-coroutines: 1.8.0
    • kotlinx-serialization: 1.6.3
    • kotlinx-datetime: 0.5.0
  • Networking:
    • coilNetwork: 3.0.0-alpha01
    • ktor: 2.3.10
  • Dependency Injection:
    • koin: 3.5.4
  • UI/UX:
    • compose-uitooling: 1.6.3
    • composeIcons: 1.1.0
  • Logging:
    • napier: 2.6.1
  • Database/Storage:
    • sql-delight: 2.0.1
  • JSON Parsing:
    • json: 1.6.3
  • Build Configurations:
    • buildConfig: 4.1.1
  • Cross-Platform Image Loading:
    • kamelImage: 0.9.4
  • Size Measurement:
    • size: 0.3.1
  • Voyager Navigation: 1.0.0
  • Other Utilities:
    • officia-viewModel: 2.8.0-beta02

Screen Shots

Screenshot 1 Screenshot 2 Screenshot 3
Screenshot 4 Screenshot 5 Screenshot 6
--- --- ---
Screenshot 7 Screenshot 8 Screenshot 9
--- --- ---
Screenshot 10 Screenshot 11 Screenshot 12
--- --- ---
Screenshot 13 Screenshot 14 Screenshot 15
--- --- ---
Screenshot 16

Desktop Screen Shots

Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4
Screenshot 5
Screenshot 6
Screenshot 7
Screenshot 5
Screenshot 6
Screenshot 7
Screenshot 8
Screenshot 9
Screenshot 10
Screenshot 11
Screenshot 12

Before running!

  • check your system with KDoctor
  • install JDK 17 or higher on your machine
  • add local.properties file to the project root and set a path to Android SDK there

Android

To run the application on android device/emulator:

  • open project in Android Studio and run imported android run configuration

To build the application bundle:

  • run ./gradlew :composeApp:assembleDebug
  • find .apk file in composeApp/build/outputs/apk/debug/composeApp-debug.apk Run android simulator UI tests: ./gradlew :composeApp:pixel5Check

Desktop

Run the desktop application: ./gradlew :composeApp:run Run desktop UI tests: ./gradlew :composeApp:jvmTest

iOS

To run the application on iPhone device/simulator:

  • Open iosApp/iosApp.xcproject in Xcode and run standard configuration
  • Or use Kotlin Multiplatform Mobile plugin for Android Studio Run iOS simulator UI tests: ./gradlew :composeApp:iosSimulatorArm64Test

Experimental Browser (JS)

Run the browser application: ./gradlew :composeApp:jsBrowserDevelopmentRun --continue Run browser UI tests: ./gradlew :composeApp:jsBrowserTest