{"id":13407039,"url":"https://github.com/xxfast/NYTimes-KMP","last_synced_at":"2025-03-14T11:30:58.959Z","repository":{"id":154135850,"uuid":"611960917","full_name":"xxfast/NYTimes-KMP","owner":"xxfast","description":"A KMP template of the New York Times App using Compose multiplatform for Android, Desktop, iOS and Web","archived":false,"fork":false,"pushed_at":"2024-10-24T03:56:22.000Z","size":1491,"stargazers_count":582,"open_issues_count":9,"forks_count":41,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-10-24T21:14:00.871Z","etag":null,"topics":["android","desktop","ios","kotlin","kotlin-multiplatform"],"latest_commit_sha":null,"homepage":"https://xxfast.github.io/NYTimes-KMP/","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xxfast.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-09T22:42:22.000Z","updated_at":"2024-10-24T15:34:47.000Z","dependencies_parsed_at":"2023-07-04T00:17:34.690Z","dependency_job_id":"5f9292a6-a872-489e-ae05-9d2d2305c23a","html_url":"https://github.com/xxfast/NYTimes-KMP","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xxfast%2FNYTimes-KMP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xxfast%2FNYTimes-KMP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xxfast%2FNYTimes-KMP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xxfast%2FNYTimes-KMP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xxfast","download_url":"https://codeload.github.com/xxfast/NYTimes-KMP/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243569280,"owners_count":20312385,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","desktop","ios","kotlin","kotlin-multiplatform"],"created_at":"2024-07-30T20:00:18.308Z","updated_at":"2025-03-14T11:30:58.929Z","avatar_url":"https://github.com/xxfast.png","language":"Kotlin","funding_links":[],"categories":["App Projects"],"sub_categories":[],"readme":"\u003cimg src=\"https://user-images.githubusercontent.com/13775137/226222990-558b58ca-20c0-4a45-8285-bf037f79647f.png\" align=\"right\" width=\"150\" height=\"150\" /\u003e\n\n# \u003cimg src=\".idea/icon.svg\" height=\"23\"/\u003e  NYTimes-KMP\n\n[![Build](https://github.com/xxfast/NYTimes-KMP/actions/workflows/build.yml/badge.svg)](https://github.com/xxfast/NYTimes-KMP/actions/workflows/build.yml)\n[![Kotlin](https://img.shields.io/badge/Kotlin-2.0.20-blue.svg?style=flat\u0026logo=kotlin)](https://kotlinlang.org)\n\n![badge-android](http://img.shields.io/badge/platform-android-6EDB8D.svg?style=flat)\n![badge-wearos](http://img.shields.io/badge/platform-wearos-8ECDA0.svg?style=flat)\n![badge-desktop](http://img.shields.io/badge/platform-desktop-4D76CD.svg?style=flat)\n![badge-desktop](http://img.shields.io/badge/platform-ios-EAEAEA.svg?style=flat)\n![badge-browser-js](https://img.shields.io/badge/platform-js-F8DB5D.svg?style=flat)\n![badge-browser-wasm](https://img.shields.io/badge/platform-wasm-F8DB5D.svg?style=flat)\n\nA KMP template of the New York Times App using Compose multiplatform. To build and run this application you will need [an API key from the New York Times](https://developer.nytimes.com/).\n\n\u003cimg src=\"https://user-images.githubusercontent.com/13775137/235060514-3b7f8779-7f2b-4f48-8e09-ef89d0a06344.png\" width=\"720\"\u003e\n\n## Libraries used\n- 🧩 [Compose Multiplatform](https://github.com/JetBrains/compose-multiplatform); for shared UI\n- 🌐 [Ktor](https://github.com/ktorio/ktor); for networking\n- 📦 [Kotlinx Serialization](https://github.com/Kotlin/kotlinx.serialization); for content negotiation\n- 🕰️ [Kotlinx Datetime](https://github.com/Kotlin/kotlinx-datetime); for datetime\n- 🗃️ [KStore](https://github.com/xxfast/KStore); for storage\n- 🚏 [Decompose](https://github.com/arkivanov/Decompose) + [Router](https://github.com/xxfast/Decompose-Router); for navigation\n- 🧪 [Molecule](https://github.com/cashapp/molecule); for modeling state\n- 🏞️ [Compose-imageloader](https://github.com/qdsfdhvh/compose-imageloader); for loading images\n\n## Run instructions\n\nRun configurations available on `.idea/runConfigurations` for each platform.\n\n\u003cimg alt=\"run-config.png\" src=\"artwork/run-config.png\" /\u003e\n\n| platform | gradle command                                                                                                                      |\n|----------|-------------------------------------------------------------------------------------------------------------------------------------|\n| android  | `./gradlew :app:android:assembleDebug`                                                                                              |\n| wear     | `./gradlew :app:wear:assembleDebug`                                                                                                 |\n| ios      | `/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project app/ios/ios.xcodeproj -scheme NYTimes -configuration Debug` |\n| desktop  | `./gradlew :app:desktop:run`                                                                                                        |\n| js       | `./gradlew :app:web:jsBrowserDevelopmentRun`                                                                                        |\n| wasm     | `./gradlew :app:web:wasmJsBrowserDevelopmentRun`                                                                                    |\n\n## Showcase\n\n### Android\n\nhttps://github.com/xxfast/NYTimes-KMP/assets/13775137/25adabad-400e-4178-8a14-aaca531c8062\n\n### WearOs\n\nhttps://github.com/xxfast/NYTimes-KMP/assets/13775137/e9ce8ab6-6c08-49a5-b80c-123733bf466c\n\n### iOS\n\nhttps://github.com/xxfast/NYTimes-KMP/assets/13775137/43855864-a4e3-4efb-8047-3e80b0594b02\n\n### Desktop\n\nhttps://github.com/xxfast/NYTimes-KMP/assets/13775137/97da961c-ef9a-40d0-9cee-f322ad8aa6ef\n\n### Web (Js \u0026 WasmJs)\n\nhttps://github.com/xxfast/NYTimes-KMP/assets/13775137/eb37d767-d241-4aa8-9083-25a4b9ad3dfa\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxxfast%2FNYTimes-KMP","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxxfast%2FNYTimes-KMP","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxxfast%2FNYTimes-KMP/lists"}