Skip to content

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.

License

Notifications You must be signed in to change notification settings

uditbhaskar/ObjectDetect

Repository files navigation

ObjectDetect

ObjectDetect 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.


✨ Features

  • Select a photo from the gallery.
  • Cloud object detection via Roboflow workflow API.
  • View both original and detected images side by side.
  • Full-screen image viewing with pinch-to-zoom and pan support.
  • Modern Material3 UI with gradients and cards.
  • Clean, testable architecture with Koin DI and Ktor networking.

📹 Demo

demo.mp4

🏗️ Architecture

  • Jetpack Compose for UI
  • Koin for Dependency Injection
  • Ktor for Networking
  • MVVM + Clean Architecture: Domain/usecase, repository, remote/data, and UI layers

🗂️ Project Structure

app/
  core/model/           # Data models (request/response)
  data/remote/          # API interfaces and implementations
  data/repository/      # Repository interfaces and implementations
  di/                   # Dependency injection modules
  domain/usecase/       # Use case interfaces and implementations
  presentation/         # ViewModels and Compose screens
  util/                 # Utility functions and constants

🚀 Getting Started

  1. Clone the repo:

    git clone https://github.com/yourusername/ObjectDetect.git
    cd ObjectDetect
  2. Open in Android Studio (Giraffe or newer recommended).

  3. Set up your Roboflow API key and workflow endpoint:

    • Edit KtorObjectDetectionApi.kt and replace the API key and endpoint with your own from Roboflow.
  4. Build and run on your device or emulator.

🛠️ Configuration

  • API Key:
    Set your Roboflow API key in KtorObjectDetectionApi.
  • Image Size Limit:
    Images are resized to a max of 2048x2048 before upload.

🧩 Dependencies

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages