This is a complete Flutter application that utilizes Google ML Kit for Text Recognition from images. The project strictly adheres to Clean Architecture principles, employing the Model-View-ViewModel (MVVM) pattern with Riverpod for state management. It also includes robust permission handling using permission_handler.
✨ Features
- Text Recognition: Accurately extracts text from images selected from the gallery or captured via the camera.
- Clean Architecture: Clear separation of concerns into Domain, Data, and Presentation layers.
- MVVM with Riverpod: Uses StateNotifier for ViewModels and ref.listen for safe error/side-effect handling.
- Permission Management: Checks and requests Camera and Photo/Gallery permissions, including routing the user to app settings if permissions are permanently denied.
- Error Handling: Displays a SnackBar for errors, including the specific case where "No text was detected" in the image.