1.6 KiB
1.6 KiB
FingerScanner
A Flutter biometric capture app demonstrating Clean Architecture and Riverpod.
Features
- Camera Preview: Real-time camera feed using the
camerapackage. - 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
-
Install Dependencies:
flutter pub get -
Run on Device: Connect a physical device (Camera is not supported on iOS Simulator).
flutter run
Permissions
- iOS:
NSCameraUsageDescriptionandNSMicrophoneUsageDescriptionare added toInfo.plist. - Android:
android.permission.CAMERAis added toAndroidManifest.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 (
ImageProcessorIsolateusingopencv_dart).# finger_print