Loading repository dataβ¦
Loading repository dataβ¦
iVamsi / repository
π Production-ready Android ML Kit showcase featuring barcode scanning & text recognition with 100% test coverage. Built with Jetpack Compose, CameraX, MVVM architecture, and Hilt DI.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
ML Kit Showcase is a small Android app for trying a few ML Kit scanning flows in one place. It is meant to be a readable demo, not a production scanner SDK.
The app is built with Kotlin, Jetpack Compose, CameraX, ML Kit, Hilt, and the Gradle version catalog in gradle/libs.versions.toml.
Barcode scanning and text recognition use bundled ML Kit libraries:
com.google.mlkit:barcode-scanningcom.google.mlkit:text-recognitionThose features are available immediately after install and the app does not request internet or network-state permissions for them.
Document scanning uses:
com.google.android.gms:play-services-mlkit-document-scannerThat scanner is provided by Google Play services. It can be unavailable on unsupported devices or while Play services is still setting up its scanner module. The app shows a normal error state for those cases.
Open the project in Android Studio, let Gradle sync, and run the app configuration on an emulator or device running Android 7.0 or newer.
The camera permission is requested only when you start live camera scanning. Image import and document scanning do not require the app-level camera permission.
./gradlew testDebugUnitTest
./gradlew lintDebug
./gradlew assembleDebug
For Android test source compilation:
./gradlew compileDebugAndroidTestKotlin
Dependency versions live in the version catalog, so check gradle/libs.versions.toml for the exact current set.
app/src/main/java/com/vamsi/mlkitshowcase/
βββ data/scanner/ ML Kit scanner wrappers and SDK mappers
βββ domain/model/ Scan result, payload, text, document, and history models
βββ presentation/barcode/ Barcode scanner screen and state
βββ presentation/text/ Text recognition screen and state
βββ presentation/document/ Document scanner screen and state
βββ presentation/home/ Home screen and session history
βββ presentation/components/
β βββ CameraPreview.kt
β βββ DetectedBoundsOverlay.kt
β βββ ScannerActionPrompt.kt
βββ di/ Hilt bindings