Code Monkey home page Code Monkey logo

news-kmp's Introduction

News Kotlin Multiplatform Project

This is a Kotlin Multiplatform Project for a news application that supports Android, iOS, Web, and Desktop platforms.

Technologies Used

  • Kotlin Multiplatform: The project is built using Kotlin Multiplatform, allowing code sharing across different platforms.

  • Android: The Android app is built using Kotlin and leverages the Android SDK.

  • iOS: The iOS app is built using Kotlin Multiplatform, enabling code reuse with the iOS platform.

  • Web & Desktop: The project includes support for both Web and Desktop platforms, providing a versatile user experience.

Libraries Used

  • Koin: Dependency injection framework for managing dependencies in a Kotlin Multiplatform project.

  • ComposeImageLoader: Image loading library for Jetpack Compose, used for loading and displaying images efficiently.

  • Ktor Client: A multiplatform HTTP client for making network requests in a Kotlin Multiplatform project.

  • Ski: A lightweight and fast image loading library for Kotlin Multiplatform projects.

  • Moko MVVM: A multiplatform MVVM library that helps in implementing the Model-View-ViewModel architecture.

Screenshots

Screenshot 1

Screenshot 2

Screenshot 3

Screenshot 4

Screenshot 5

Screenshot 6

Screenshot 7

Screenshot 8

Screenshot 8

Screenshot 9

Screenshot 9

Screenshot 10

Screenshot 10

Screenshot 11

Screenshot 11

Screenshot 12

Screenshot 12

Screenshot 13

Screenshot 12

Screenshot 14

Screenshot 14

Screenshot 15

Screenshot 15

Screenshot 16

Screenshot 15

Screenshot 17

Screenshot 17

Screenshot 18

Screenshot 18

Screenshot 19

Screenshot 19

Screenshot 20

Screenshot 20

Screenshot 21

Screenshot 21

How to Build

To build the project, follow these steps:

  1. Clone the repository: git clone https://github.com/KhubaibKhan4/News-KMP.git
  2. Open the project in your preferred IDE.
  3. Build and run the project on your desired platform.

Before running!

  • check your system with KDoctor
  • install JDK 17 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

Desktop

Run the desktop application: ./gradlew :composeApp:run

iOS

To run the application on iPhone device/simulator:

Browser

Run the browser application: ./gradlew :composeApp:jsBrowserDevelopmentRun

news-kmp's People

Contributors

khubaibkhan4 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

zohaibkhandev

news-kmp's Issues

Failed in the ios building

I want to run the app on the iOS simulator but the building has failed.

The following build commands failed:
PhaseScriptExecution Run\ Script /Users/macmini/Documents/kmmProjects/News-KMP/build/ios/iosApp.build/Debug-iphonesimulator/iosApp.build/Script-A9D80A052AAB5CDE006C8738.sh (in target 'iosApp' from project 'iosApp')
(1 failure)
warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'iosApp' from project 'iosApp')
warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'iosApp' from project 'iosApp')

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.