Flutter camera application with overlay support, photo capture, and video recording.
The project follows Clean Architecture principles
- State Management: Riverpod
- Dependency Injection: GetIt
- Camera: camera package
- Image Picker: image_picker (with Photo Picker support)
- Permissions: permission_handler
- Storage: path_provider
- Flutter SDK: 3.35.5 (stable channel)
- Dart SDK: 3.9.2
- Android: minSdk 30 (Android 11+)
- iOS: iOS 13.0+
- Install dependencies:
flutter pub get- Run the app:
flutter runCAMERA- Required for camera accessRECORD_AUDIO- Required for video recording with audioREAD_MEDIA_IMAGES- For Android 13+ photo pickerREAD_MEDIA_VIDEO- For Android 13+ video access
NSCameraUsageDescription- Camera accessNSMicrophoneUsageDescription- Microphone access for videoNSPhotoLibraryUsageDescription- Gallery access for overlay selectionNSPhotoLibraryAddUsageDescription- Saving photos/videos
- The app is designed for portrait mode only
- Overlay opacity is set to 80% as specified
- Recording timer displays in MM:SS format
- All logs use
dart:developerinstead ofprint