{"id":28963739,"url":"https://github.com/uditbhaskar/objectdetect","last_synced_at":"2026-04-29T19:32:07.547Z","repository":{"id":300690992,"uuid":"999724069","full_name":"uditbhaskar/ObjectDetect","owner":"uditbhaskar","description":" ObjectDetect is an Android App that lets users select a gallery image and run cloud-based object detection using a Roboflow workflow. It displays both the original and processed images with bounding boxes, supports full-screen viewing with zoom and pan, and features a modern UI built with Jetpack Compose, Ktor, and Koin in a clean architecture.","archived":false,"fork":false,"pushed_at":"2025-06-23T04:20:33.000Z","size":141,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-23T05:25:51.454Z","etag":null,"topics":["android","android-application","clean-architecture","coroutines-android","dependency-injection","jetpack-compose","jetpack-navigation","koin-injection","koltin-android","kotlin","kotlin-flow","ktor","machine-learning","mlkit-android","mvvm-android","object-detection","roboflow-dataset","tdd"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uditbhaskar.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-10T17:28:28.000Z","updated_at":"2025-06-23T04:20:36.000Z","dependencies_parsed_at":"2025-06-23T05:26:01.136Z","dependency_job_id":null,"html_url":"https://github.com/uditbhaskar/ObjectDetect","commit_stats":null,"previous_names":["uditbhaskar/objectdetect"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/uditbhaskar/ObjectDetect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uditbhaskar%2FObjectDetect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uditbhaskar%2FObjectDetect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uditbhaskar%2FObjectDetect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uditbhaskar%2FObjectDetect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uditbhaskar","download_url":"https://codeload.github.com/uditbhaskar/ObjectDetect/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uditbhaskar%2FObjectDetect/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261601533,"owners_count":23183099,"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","android-application","clean-architecture","coroutines-android","dependency-injection","jetpack-compose","jetpack-navigation","koin-injection","koltin-android","kotlin","kotlin-flow","ktor","machine-learning","mlkit-android","mvvm-android","object-detection","roboflow-dataset","tdd"],"created_at":"2025-06-24T04:12:29.620Z","updated_at":"2026-04-29T19:32:07.542Z","avatar_url":"https://github.com/uditbhaskar.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ObjectDetect\n\nObjectDetect is a modern Android app that lets users select an image from their gallery and perform cloud-based object detection using a Roboflow workflow. The app displays both the original and processed images (with bounding boxes), supports full-screen viewing with zoom and pan, and is built with Jetpack Compose, Ktor, and Koin, utilizing Clean Architecture with MVVM.\n\n---\n\n## Features\n\n- Select a photo from the gallery.\n- Cloud object detection via Roboflow workflow API.\n- View both original and detected images side by side.\n- Full-screen image viewing with pinch-to-zoom and pan support.\n- Modern Material3 UI with gradients and cards.\n- Clean, testable architecture with Koin DI and Ktor networking.\n\n---\n\n## 📹 Demo\nhttps://github.com/user-attachments/assets/772ca950-f742-4f55-b264-63f53444c7fd\n\n---\n\n## Architecture\n\n- **Jetpack Compose** for UI\n- **Koin** for Dependency Injection\n- **Ktor** for Networking\n- **MVVM + Clean Architecture**: Domain/usecase, repository, remote/data, and UI layers\n\n---\n\n## Project Structure\n\n```\napp/\n  core/model/           # Data models (request/response)\n  data/remote/          # API interfaces and implementations\n  data/repository/      # Repository interfaces and implementations\n  di/                   # Dependency injection modules\n  domain/usecase/       # Use case interfaces and implementations\n  presentation/         # ViewModels and Compose screens\n  util/                 # Utility functions and constants\n```\n\n## Getting Started\n\n1. **Clone the repo:**\n   ```bash\n   git clone https://github.com/yourusername/ObjectDetect.git\n   cd ObjectDetect\n   ```\n\n2. **Open in Android Studio** (Giraffe or newer recommended).\n\n3. **Set up your Roboflow API key and workflow endpoint:**\n   - Edit `KtorObjectDetectionApi.kt` and replace the API key and endpoint with your own from [Roboflow](https://roboflow.com/).\n\n4. **Build and run on your device or emulator.**\n\n## 🛠️ Configuration\n\n- **API Key:**  \n  Set your Roboflow API key in `KtorObjectDetectionApi`.\n- **Image Size Limit:**  \n  Images are resized to a max of 2048x2048 before upload.\n\n## Dependencies\n\n- [Jetpack Compose](https://developer.android.com/jetpack/compose)\n- [Koin](https://insert-koin.io/)\n- [Ktor](https://ktor.io/)\n- [Kotlinx Serialization](https://github.com/Kotlin/kotlinx.serialization)\n- [Timber](https://github.com/JakeWharton/timber) for logging\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuditbhaskar%2Fobjectdetect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuditbhaskar%2Fobjectdetect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuditbhaskar%2Fobjectdetect/lists"}