{"id":42485574,"url":"https://github.com/compose-jindong/jindong","last_synced_at":"2026-01-28T11:27:28.195Z","repository":{"id":331960300,"uuid":"1125114982","full_name":"compose-jindong/jindong","owner":"compose-jindong","description":"Vibe with Jindong, Powered by Compose Runtime","archived":false,"fork":false,"pushed_at":"2026-01-27T15:21:56.000Z","size":1443,"stargazers_count":97,"open_issues_count":4,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-27T18:33:18.727Z","etag":null,"topics":["android","compose-multiplatform","haptics","ios","kotlin-multiplatform"],"latest_commit_sha":null,"homepage":"https://compose-jindong.github.io/jindong/","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/compose-jindong.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-30T07:00:58.000Z","updated_at":"2026-01-27T15:22:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"79a41881-2ffa-4ed4-94dd-f49392f423e7","html_url":"https://github.com/compose-jindong/jindong","commit_stats":null,"previous_names":["compose-jindong/jindong"],"tags_count":1,"template":false,"template_full_name":"Kotlin/multiplatform-library-template","purl":"pkg:github/compose-jindong/jindong","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compose-jindong%2Fjindong","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compose-jindong%2Fjindong/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compose-jindong%2Fjindong/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compose-jindong%2Fjindong/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/compose-jindong","download_url":"https://codeload.github.com/compose-jindong/jindong/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compose-jindong%2Fjindong/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28845088,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T10:53:21.605Z","status":"ssl_error","status_checked_at":"2026-01-28T10:53:20.789Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","compose-multiplatform","haptics","ios","kotlin-multiplatform"],"created_at":"2026-01-28T11:27:27.685Z","updated_at":"2026-01-28T11:27:28.186Z","avatar_url":"https://github.com/compose-jindong.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"public/jindong-banner.png\" alt=\"Jindong Banner\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eDeclarative Haptic Feedback Library for Compose Multiplatform\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/user/jindong/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\" alt=\"License\" /\u003e\u003c/a\u003e\n  \u003cimg alt=\"Maven Central Version\" src=\"https://img.shields.io/maven-central/v/io.github.compose-jindong/jindong\"\u003e\n  \u003ca href=\"https://kotlinweekly.net/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Kotlin%20Weekly-%23493-blue.svg\" alt=\"Kotlin Weekly\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://androidweekly.net/issues/issue-710\"\u003e\u003cimg alt=\"Badge\" height=\"20px\" src=\"https://androidweekly.net/issues/issue-710/badge\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## About\n\nJindong provides a declarative DSL for haptic feedback in Compose Multiplatform applications(supports Android and iOS). Built on Compose Runtime, it lets you define complex haptic patterns with a simple, intuitive API.\n\n**Jindong[tɕindooŋ] (진동)** is the Korean word for \"vibration\". We chose this name to reflect the library's core purpose, as it's a familiar term for the Korean creators of this library.\n\n```kotlin\nJindong(trigger) {\n    Haptic(100.ms)\n    Delay(50.ms)\n    Haptic(50.ms, HapticIntensity.STRONG)\n}\n```\n\n## Features\n\n- **Declarative API** - Define haptic patterns like you define UI with Compose\n- **Cross-platform based on Compose Multiplatform** - Unified APIs for Android and iOS\n- **Compose Integration** - Works naturally with Compose state and effects\n\n## Installation\n\nAdd Jindong to your `build.gradle.kts`:\n\n```kotlin\nkotlin {\n    sourceSets {\n        commonMain.dependencies {\n            implementation(\"io.github.compose-jindong:jindong-core:\u003cversion\u003e\")\n            implementation(\"io.github.compose-jindong:jindong-compose:\u003cversion\u003e\")\n        }\n    }\n}\n```\n\n### Platform Requirements\n\n| Platform | Minimum Version |\n|----------|-----------------|\n| Android  | API 26          |\n| iOS      | iOS 13          |\n\n### Android Setup\n\nAdd the vibration permission to your `AndroidManifest.xml`:\n\n```xml\n\u003cuses-permission android:name=\"android.permission.VIBRATE\" /\u003e\n```\n\n## Quick Start\n\n```kotlin\n@Composable\nfun App() {\n    var count by remember { mutableStateOf(0) }\n\n    JindongProvider {\n        Jindong(count) {\n            Haptic(100.ms)\n        }\n\n        Button(onClick = { count++ }) {\n            Text(\"Tap me!\")\n        }\n    }\n}\n```\n\n## Documentation\n\nFor full documentation, visit [compose-jindong.github.io/jindong](https://compose-jindong.github.io/jindong).\n\n- [Why Jindong](https://compose-jindong.github.io/jindong/docs/guide/why-jindong) - Motivation and benefits\n- [Getting Started](https://compose-jindong.github.io/jindong/docs/guide/getting-started) - Installation and setup\n- [Quick Start](https://compose-jindong.github.io/jindong/docs/guide/quick-start) - Build your first haptic pattern\n- [API Reference](https://compose-jindong.github.io/jindong/docs/api/core/jindong) - Complete API documentation\n\n## License\n\n```\nCopyright 2026 compose-jindong\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompose-jindong%2Fjindong","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcompose-jindong%2Fjindong","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompose-jindong%2Fjindong/lists"}