A Flutter message management app for blog/wiki/social-style posts with on-device SQLite storage.
- Create, edit, view, and delete text messages.
- View individual messages and the full message list.
- Search message text (case-insensitive) and show matching results.
- Delete a single message.
- Select and delete multiple messages.
- Store all messages in on-device SQLite.
- Attach an image from gallery or camera.
- Share an individual message (text or text+image) through the system share sheet (Facebook, Instagram, LinkedIn, X, etc. if installed).
- Flutter + Material 3
sqflitefor local databaseproviderfor state managementimage_pickerfor camera/gallery image selectionshare_plusfor sharing
lib/main.dartapp bootstrap + dependency injectionlib/models/message.dartmessage modellib/data/database_helper.dartSQLite init and schemalib/data/message_store.dartdata access API and sqflite implementationlib/controllers/message_controller.dartapp state and business logiclib/screens/message_list_screen.dartlist, search, and multi-delete UIlib/screens/message_form_screen.dartcreate/edit + image attach UIlib/screens/message_detail_screen.dartsingle message view + share/deletelib/services/image_service.dartcamera/gallery abstractionlib/services/message_share_service.dartshare abstraction
- Install Flutter SDK.
- From project root, run:
flutter pub get- Run app:
flutter pub get
flutter pub run flutter_launcher_icons
flutter run
flutter build apk --release
build/app/outputs/flutter-apk/
flutter run -d emulator-5554
Already configured:
- Android: camera + media read permissions in
android/app/src/main/AndroidManifest.xml - iOS: camera/photo library usage descriptions in
ios/Runner/Info.plist
flutter test- CRUD + SQLite persistence + search + single delete + bulk delete:
test/data/message_store_test.dart
- Controller behavior for create/edit/search/delete/bulk delete and image path handling:
test/controllers/message_controller_test.dart
- List UI behaviors (view list, search, select and delete chosen messages):
test/widgets/message_list_screen_test.dart
- Form UI behaviors (create/edit validation and image picker triggers):
test/widgets/message_form_screen_test.dart
- Detail UI behaviors (view one message and share action):
test/widgets/message_detail_screen_test.dart
flutter analyze: passedflutter test: passed (12 tests)