A healthcare-focused Flutter mobile application designed for session-based image capture workflows with SQLite metadata storage and efficient session management capabilities.
This application enables healthcare professionals to capture and organize patient images in structured sessions, storing essential metadata for easy retrieval and documentation purposes. Built specifically for Android platforms with an offline-first architecture.
- Start and manage photo capture sessions
- Capture multiple images within a single session
- Real-time camera preview with smooth 30+ FPS performance
- Image counter and thumbnail preview during capture
- Session completion with metadata entry
- Local Image Storage:
Android/media/<AppName>/Sessions/<SessionID>/IMG_timestamp.jpg - SQLite Database: Session metadata storage (SessionID, Name, Age, Timestamp)
- Organized file structure by SessionID for easy management
- Offline-only storage (no cloud dependency)
- Search sessions by SessionID
- Display complete session metadata
- View all images captured in selected sessions
- Gallery view for session image browsing
- Material 3 design system implementation
- Healthcare-optimized UI/UX design
- Clean, professional interface
- Responsive design for various screen sizes
dependencies:
flutter:
sdk: flutter
camera: ^0.10.5+2 # Camera functionality
sqflite: ^2.3.0 # SQLite database operations
path_provider: ^2.0.15 # Device storage paths
permission_handler: ^10.4.3 # Camera and storage permissions- Clean code structure with separation of concerns
- State management using Provider/Bloc pattern
- Material 3 design system
- Modular component architecture
- Flutter SDK (3.0.0 or higher)
- Android Studio or VS Code with Flutter extensions
- Android device or emulator (API level 21+)
-
Clone the repository
git clone https://github.com/yourusername/flutter-camera-session-manager.git cd flutter-camera-session-manager -
Install dependencies
flutter pub get
-
Run the application
flutter run
The app requires the following permissions (automatically handled):
- Camera access for image capture
- Storage access for saving images
- No internet permission required (offline app)
- Tap "Start Session" on the main screen
- Camera preview opens with live feed
- Capture multiple images using the capture button
- View captured images in thumbnail preview
- Tap "End Session" when complete
- Fill in the metadata form:
- SessionID: Unique alphanumeric identifier
- Name: Patient/subject name (minimum 2 characters)
- Age: Numeric value (1-120 range)
- Tap "Save Session" to store data
- Images are organized in dedicated session folder
- Navigate to "Search Sessions"
- Enter SessionID in search field
- View session metadata and captured images
- Browse images in gallery view
lib/
โโโ main.dart # App entry point
โโโ models/ # Data models
โ โโโ session.dart
โ โโโ session_database.dart
โโโ screens/ # UI screens
โ โโโ home_screen.dart
โ โโโ camera_screen.dart
โ โโโ session_form_screen.dart
โ โโโ search_screen.dart
โโโ widgets/ # Reusable components
โ โโโ session_card.dart
โ โโโ image_gallery.dart
- SessionID: Required, alphanumeric, must be unique
- Name: Required, minimum 2 characters
- Age: Required, numeric, range 1-120
- Images: Minimum 1 image required per session
The application handles various error scenarios:
- Camera permission denied
- Storage permission denied
- Invalid SessionID format
- Database connection errors
- Image save failures
- Empty search results
- Network connectivity issues
- Smooth camera preview (30+ FPS)
- Fast image capture and save operations
- Responsive UI during database operations
- Efficient image loading in gallery view
- Optimized SQLite queries
- Memory management for large image sets
For demo screenshots, APK file, and additional resources, visit: https://drive.google.com/drive/folders/1ed2Dq2lW6Y7B-etLz7c7FzTO8CO459JW?usp=sharing
flutter build apk --debugflutter build apk --releaseflutter build apk --split-per-abiflutter testflutter drive --target=test_driver/app.dart- iOS platform support
- Cloud storage integration
- Advanced image editing features
- Batch session operations
- Export functionality (PDF reports)
- Session analytics and reporting
- Multi-language support
Built with โค๏ธ using Flutter for healthcare professionals