Plant Management App - シンプルな植物管理アプリ
概要
「Plant Management App」は、Flutterを利用して構築されたシンプルな植物管理アプリです。ユーザーは自宅の植物を登録し、それぞれに写真を添付、さらに水やりや肥料のタイミングをリマインダー機能で管理できます。多くの既存アプリが課金や広告で利用のハードルを上げている中、本アプリは完全無料で、ユーザーが気軽に植物の世話を続けられる環境を提供しています。SQLiteによるローカルデータベース管理により、オフラインでも快適に使えます。
リポジトリの統計情報
- スター数: 1
- フォーク数: 0
- ウォッチャー数: 1
- コミット数: 7
- ファイル数: 14
- メインの言語: Dart
主な特徴
- 新しい植物の登録と管理が可能
- 各植物に写真を添付できる
- 水やりなどの定期リマインダー機能搭載
- 完全無料かつ広告や課金なし
技術的なポイント
本プロジェクトはGoogleのクロスプラットフォームUIフレームワーク「Flutter」を採用し、iOSおよびAndroidの双方で動作可能なモバイルアプリとして設計されています。Flutterの特徴である高速な描画性能と豊富なウィジェットを活かし、シンプルながらも直感的なユーザーインターフェースを実現しています。
データ管理には軽量な組み込み型データベース「SQLite」を用いており、植物情報や写真のメタデータ、リマインダー設定などをローカルに保存。これにより、インターネット接続がなくてもアプリが利用可能です。Flutterのプラグインを通じてSQLiteの操作を行い、データの永続化と効率的な読み書きを実現しています。
写真の追加機能は、デバイスのカメラやギャラリーから画像を取得し、プランツごとに管理できるように設計。画像ファイル自体はストレージに保存し、データベースにはパスを保持する形で実装されています。これにより、アプリのパフォーマンスを維持しつつ豊富なビジュアル情報を保持可能です。
リマインダー機能は、Flutterのローカル通知プラグインを利用し、水やりや施肥のリピート通知を設定。ユーザーが指定したスケジュールに従って通知が発生し、植物の世話を忘れにくくしています。UI上では分かりやすい設定画面を用意し、繰り返し間隔や通知内容を簡単にカスタマイズ可能です。
全体的にコードはモジュール化されており、Flutterの状態管理やルーティングも適切に活用。小規模ながら拡張性と保守性を意識した設計で、今後の機能追加やUI改良も見据えた構成となっています。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: git管理除外設定ファイル
- .metadata: Flutterのプロジェクトメタ情報
- README.md: プロジェクト概要と開発メモ
- analysis_options.yaml: Dartの静的解析ルール定義
- android: Androidネイティブコードと設定
- ios: iOSネイティブコードと設定
- lib: FlutterのDartコード本体
- assets: 画像やフォントなどのリソース
- pubspec.yaml: 依存関係やアセット指定
- plant_model.dart: 植物データのモデル定義
- database_helper.dart: SQLite操作ロジック
- notification_helper.dart: リマインダー通知管理
- plant_list_screen.dart: 植物一覧画面のUI
- plant_detail_screen.dart: 植物詳細・編集画面
- add_plant_screen.dart: 新規植物追加画面
まとめ
Flutter×SQLiteで実現した無料の植物管理アプリ。
リポジトリ情報:
- 名前: plant-management-app
- 説明: Simple plant collection and management system built on Flutter
- スター数: 1
- 言語: Dart
- URL: https://github.com/ChristopherJamesMoore/plant-management-app
- オーナー: ChristopherJamesMoore
- アバター: https://avatars.githubusercontent.com/u/90791015?v=4
READMEの抜粋:
Plant management app 🌱
Over the past few years I have collected a number of house plants that, due to work and other commitments, have mostly died.. Because of this, I attempted to find and use a plant management app on the iOS store. These all unfortunately are hidden under pay walls. I decided to solve this issue by creating my own app free from pay walls.
Tech stack
- Flutter
- SQLite
Features
- Add new plants 🌱
- Add photos of each plant 📷
- Set reminders on repeat 🔔