https://github.com/mohitguptac/objectscanner
An Android app that uses ML-based object detection to identify ingredients and suggest recipes. Built with TensorFlow Lite and ML Kit, it helps users discover recipes based on ingredients they have on hand. Includes integration with Zepto for missing ingredients.
https://github.com/mohitguptac/objectscanner
android-app ml mlkit-android tensorflow tensorflow-lite
Last synced: about 1 month ago
JSON representation
An Android app that uses ML-based object detection to identify ingredients and suggest recipes. Built with TensorFlow Lite and ML Kit, it helps users discover recipes based on ingredients they have on hand. Includes integration with Zepto for missing ingredients.
- Host: GitHub
- URL: https://github.com/mohitguptac/objectscanner
- Owner: MohitGuptaC
- License: gpl-3.0
- Created: 2025-04-22T14:12:42.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-22T16:04:11.000Z (about 1 year ago)
- Last Synced: 2025-04-22T17:16:18.778Z (about 1 year ago)
- Topics: android-app, ml, mlkit-android, tensorflow, tensorflow-lite
- Language: Kotlin
- Homepage:
- Size: 10.2 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Object Scanner
An Android application that scans objects and recommends recipes based on detected ingredients.
## Dataset
This project uses the vegetable image classification dataset from:
> Ahmed, M. I., Mamun, S. M., & Asif, A. U. Z. (2021). DCNN-based vegetable image classification using transfer learning: A comparative study. In 2021 5th International Conference on Computer, Communication and Signal Processing (ICCCSP) (pp. 235-243). IEEE.
## Features
- Object detection using camera
- Recipe recommendations based on detected ingredients
- Integration with Zepto for missing ingredients
- Web view for recipe details and shopping links
## Setup
1. Clone the repository
2. Open the project in Android Studio
3. Sync project with Gradle files
4. Run the app on an Android device or emulator
## Requirements
- Android Studio Arctic Fox or newer
- Minimum SDK version: Check app/build.gradle.kts for the specific version
- Gradle version: Check gradle/wrapper/gradle-wrapper.properties
## Project Structure
- `app/src/main/java/com/example/objectscanner/` - Main source code
- `app/src/main/res/` - Resources (layouts, strings, etc.)
- `app/src/main/assets/` - Contains dataset.json with recipe information
## Building a Signed APK (Release Build)
To build a signed APK for release:
### For CI/CD (GitHub Actions, etc.):
- The workflow uses environment variables for signing (no changes needed).
- The following block in `app/build.gradle.kts` should be **uncommented**:
```kotlin
signingConfigs {
create("release") {
storeFile = file(System.getenv("ORG_GRADLE_PROJECT_storeFile"))
storePassword = System.getenv("ORG_GRADLE_PROJECT_storePassword")
keyAlias = System.getenv("ORG_GRADLE_PROJECT_keyAlias")
keyPassword = System.getenv("ORG_GRADLE_PROJECT_keyPassword")
}
}
```
### For local Android Studio builds:
- **Comment out the entire `signingConfigs` block in `app/build.gradle.kts`.**
- Use Android Studio's **Build > Generate Signed Bundle / APK...** wizard, which will let you pick your keystore and enter credentials interactively. No signing config is needed in the Gradle file for local builds.
3. **Open the project in Android Studio.**
4. **Select the `release` build variant** in the Build Variants panel.
5. Go to **Build > Generate Signed Bundle / APK...** and follow the prompts.
6. The signed APKs will be in `app/build/outputs/apk/release/`.
## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## License
This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.