# FingerScanner A Flutter biometric capture app demonstrating Clean Architecture and Riverpod. ## Features - **Camera Preview**: Real-time camera feed using the `camera` package. - **Real-time Quality Analysis**: - **Throttled Stream**: Processes camera frames at ~6-7 FPS. - **Background Isolate**: Offloads heavy image processing to a background thread to keep UI smooth. - **Quality Checks**: - **Sharpness**: Laplacian variance. - **Brightness**: Mean pixel intensity. - **Presence**: ROI standard deviation check. - **Dynamic UI Guide**: Visual guide changes color (Red/Green) based on analysis results. - **Clean Architecture**: Separation of concerns into Core, Data, Domain, and Presentation layers. - **State Management**: Powered by `flutter_riverpod` (Notifier). ## Getting Started 1. **Install Dependencies**: ```bash flutter pub get ``` 2. **Run on Device**: Connect a physical device (Camera is not supported on iOS Simulator). ```bash flutter run ``` ## Permissions - **iOS**: `NSCameraUsageDescription` and `NSMicrophoneUsageDescription` are added to `Info.plist`. - **Android**: `android.permission.CAMERA` is added to `AndroidManifest.xml`. ## Architecture - **Domain Layer**: Entities (`ScanResult`, `QualityStatus`), Repositories (Interface), UseCases (`ScanFingerprint`). - **Data Layer**: DataSources (`CameraDataSource`), Repository Implementation. - **Presentation Layer**: Riverpod Providers (`ScannerNotifier`), Screens (`ScannerScreen`), Widgets (`CameraPreviewWidget`, `FingerprintGuidePainter`). - **Core**: Services (`ImageProcessorIsolate` using `opencv_dart`).# finger_print