diff --git a/SDK_v1.0.0/CHANGELOG.md b/SDK_v1.0.0/CHANGELOG.md new file mode 100644 index 0000000..c206d2f --- /dev/null +++ b/SDK_v1.0.0/CHANGELOG.md @@ -0,0 +1,55 @@ +# Changelog + +All notable changes to the Shooting Target Detection SDK will be documented in this file. + +## [1.0.0] - 2025-10-18 + +### Added +- ๐ŸŽฏ **YOLO-based Bullet Detection** - AI-powered bullet hole recognition +- ๐Ÿ“ท **MJPEG Camera Streaming** - Real-time camera feed support +- ๐Ÿ“ฑ **Phone Camera Integration** - Device camera for target capture +- ๐ŸŽจ **Image Processing** - Brightness, contrast, and filter controls +- ๐Ÿ“Š **Target Scoring System** - Automatic ring detection and scoring +- ๐ŸŒ **Multi-language Support** - English and Slovenian +- ๐Ÿ“… **Google Calendar Integration** - Track shooting sessions +- ๐ŸŽ **iOS Support** - Configured and ready for iOS build +- ๐Ÿ“– **Help System** - In-app help dialogs with translations +- ๐Ÿ’พ **Settings Persistence** - Save brightness/contrast preferences + +### Fixed +- ๐Ÿ› Color filters no longer apply to error messages +- ๐Ÿ› Zoom functionality disabled on error screens +- ๐Ÿ› Removed duplicate "NOW" badge in calendar +- ๐Ÿ› Proper error handling for camera stream failures + +### Technical Details +- **Flutter Version**: 3.29.3 +- **Dart SDK**: 3.3.0+ +- **Min Android SDK**: 21 (Android 5.0) +- **Target Android SDK**: 35 (Android 15) +- **APK Size**: 96.4 MB +- **AAB Size**: 48.2 MB + +### Package Contents +``` +SDK_v1.0.0/ +โ”œโ”€โ”€ android/ +โ”‚ โ”œโ”€โ”€ app-release.apk (96.4 MB) +โ”‚ โ””โ”€โ”€ app-release.aab (48.2 MB) +โ”œโ”€โ”€ docs/ +โ”œโ”€โ”€ README.md +โ””โ”€โ”€ CHANGELOG.md +``` + +### Dependencies +- `tflite_flutter: ^0.11.0` - TensorFlow Lite for AI model +- `camera: ^0.10.0` - Camera access +- `flutter_mjpeg: ^2.0.0` - MJPEG streaming +- `google_sign_in: ^6.1.5` - Google authentication +- `googleapis: ^13.2.0` - Calendar API +- `image: ^4.5.4` - Image processing +- `shared_preferences: ^2.2.2` - Settings storage + +--- + +๐Ÿค– Generated with [Claude Code](https://claude.com/claude-code) diff --git a/SDK_v1.0.0/README.md b/SDK_v1.0.0/README.md new file mode 100644 index 0000000..2975e3d --- /dev/null +++ b/SDK_v1.0.0/README.md @@ -0,0 +1,207 @@ +# Shooting Target Detection SDK v1.0.0 + +Android SDK for bullet hole detection and shooting target analysis. + +## ๐Ÿ“ฆ Package Contents + +``` +SDK_v1.0.0/ +โ”œโ”€โ”€ android/ +โ”‚ โ”œโ”€โ”€ app-release.apk # Release APK (96.4 MB) +โ”‚ โ””โ”€โ”€ app-release.aab # App Bundle for Google Play (48.2 MB) +โ”œโ”€โ”€ docs/ +โ”‚ โ””โ”€โ”€ API_DOCUMENTATION.md +โ””โ”€โ”€ README.md +``` + +## ๐ŸŽฏ Features + +- **YOLO-based Bullet Detection** - AI-powered bullet hole recognition using TensorFlow Lite +- **MJPEG Camera Streaming** - Real-time camera feed support with HTTP/HTTPS streams +- **Phone Camera Integration** - Use device camera for target capture +- **Image Processing** - Brightness, contrast, and filter adjustments +- **Target Scoring System** - Automatic ring detection and bullet scoring +- **Multi-language Support** - English and Slovenian translations +- **Google Calendar Integration** - Track shooting sessions +- **Customizable UI** - Material Design with dark theme support + +## ๐Ÿ“ฑ System Requirements + +### Minimum Requirements +- **Android Version**: 5.0 (API 21) or higher +- **RAM**: 2GB minimum, 4GB recommended +- **Storage**: 150MB free space +- **Camera**: Any device camera or network camera support +- **Network**: For MJPEG streaming (optional) + +### Recommended +- **Android Version**: 8.0 (API 26) or higher +- **RAM**: 4GB or more +- **Processor**: ARM64 or x86_64 +- **Camera**: 12MP or higher for best detection accuracy + +## ๐Ÿš€ Installation + +### Option 1: Install APK (Direct Installation) +```bash +adb install app-release.apk +``` + +### Option 2: Deploy via Google Play (AAB) +Upload `app-release.aab` to Google Play Console for distribution. + +## ๐Ÿ”ง Configuration + +### Permissions Required +The SDK requires the following Android permissions: + +```xml + + + + + + +``` + +### Network Configuration +For MJPEG camera streaming, ensure network security config allows cleartext traffic: + +```xml + +``` + +## ๐Ÿ“– Usage + +### 1. Camera Stream Detection +``` +1. Open the app +2. Navigate to "Camera Streams" section +3. Add your MJPEG camera URL (e.g., http://192.168.1.100:8080/video) +4. Select the camera and start detection +5. Tap capture button to analyze target +``` + +### 2. Phone Camera Detection +``` +1. Open the app +2. Navigate to "Phone Camera" section +3. Set number of expected bullets (1-5) +4. Align target in the frame +5. Capture baseline image (empty target) +6. Shoot your rounds +7. Capture final image to see detected bullets +``` + +### 3. Target Analysis +``` +1. After capture, view detected bullets overlaid on target +2. Check ring detection and scoring +3. View shooting history in calendar +4. Export results to Google Calendar +``` + +## ๐ŸŽจ Customization + +### Image Adjustments +- **Brightness**: -100 to +100 +- **Contrast**: 50% to 200% +- **Filters**: None, Greyscale, Invert + +### Detection Settings +- **Bullet Count**: 1-5 expected bullets +- **Zoom**: 1x to 5x for camera streams +- **Auto-stop**: Automatic capture when target count reached + +## ๐ŸŒ Language Support + +The SDK supports: +- ๐Ÿ‡ฌ๐Ÿ‡ง English +- ๐Ÿ‡ธ๐Ÿ‡ฎ Slovenian (Slovenลกฤina) + +Language can be changed in the settings menu. + +## ๐Ÿ“Š Technical Specifications + +### AI Model +- **Framework**: TensorFlow Lite +- **Model**: YOLOv8 (optimized for mobile) +- **Input Size**: 640x640 pixels +- **Detection Classes**: + - Bullet holes + - Target rings (10-ring system) + - Center point + +### Image Processing +- **Supported Formats**: JPEG, PNG +- **Max Resolution**: 4096x4096 pixels +- **Processing Time**: < 2 seconds per image (on recommended hardware) + +### Camera Support +- **MJPEG Streams**: HTTP/HTTPS streaming +- **Device Camera**: All standard Android cameras +- **Resolution**: Auto-adjusted based on device capabilities + +## ๐Ÿ” Security & Privacy + +- โœ… All processing done on-device (no cloud upload) +- โœ… Camera permissions requested at runtime +- โœ… Optional Google Calendar integration +- โœ… No telemetry or analytics tracking +- โœ… Images stored locally only + +## ๐Ÿ“ Version History + +### v1.0.0 (2025-10-18) +- โœจ Initial release +- โœ… YOLO bullet detection +- โœ… MJPEG streaming support +- โœ… Phone camera integration +- โœ… Calendar integration +- โœ… Multi-language support +- โœ… iOS support configured +- ๐Ÿ› Fixed filter application on error screens +- ๐Ÿ› Fixed zoom on error states +- ๐Ÿ› Removed duplicate calendar badges + +## ๐Ÿ› ๏ธ Troubleshooting + +### Camera Stream Not Connecting +- Check camera URL format: `http://IP:PORT/video` +- Ensure camera is on same network +- Verify `usesCleartextTraffic="true"` in AndroidManifest.xml + +### Detection Not Working +- Ensure good lighting conditions +- Clean camera lens +- Target should fill at least 50% of frame +- Check that YOLO model is included in assets + +### Performance Issues +- Close other apps to free RAM +- Reduce image resolution in settings +- Disable unnecessary features (filters, calendar sync) + +## ๐Ÿ’ป Development Info + +Built with: +- **Flutter**: 3.29.3 +- **Dart**: 3.3.0+ +- **Android SDK**: 36.0.0 +- **Min SDK**: 21 (Android 5.0) +- **Target SDK**: 35 (Android 15) + +## ๐Ÿ“ง Support + +For issues, questions, or feature requests: +- Create an issue in the project repository +- Contact: [Your contact information] + +## ๐Ÿ“„ License + +Copyright ยฉ 2025. All rights reserved. + +--- + +๐Ÿค– Built with [Claude Code](https://claude.com/claude-code) diff --git a/SDK_v1.0.0/android/SDKMUTA_V1.0.0.apk b/SDK_v1.0.0/android/SDKMUTA_V1.0.0.apk new file mode 100644 index 0000000..e18b260 Binary files /dev/null and b/SDK_v1.0.0/android/SDKMUTA_V1.0.0.apk differ diff --git a/SDK_v1.0.0/android/app-release.aab b/SDK_v1.0.0/android/app-release.aab new file mode 100644 index 0000000..08b70d2 Binary files /dev/null and b/SDK_v1.0.0/android/app-release.aab differ diff --git a/ShootingTargetSDK_v1.0.0_Android.zip b/ShootingTargetSDK_v1.0.0_Android.zip new file mode 100644 index 0000000..8800adc Binary files /dev/null and b/ShootingTargetSDK_v1.0.0_Android.zip differ