はじめに
先日AppStoreとGooglePlayStoreに入館アプリをリリースしました。
学校の友人とアプリを作ることになったため, その練習としてこちらのアプリを作りました。
自分の通っている専門学校が点呼での出席確認を行なっていたことから
作ってみようとなったのがきっかけです。
完成像
団体ごとに自作のQRコードをスキャンするだけで入館が完了するアプリです。
AppleStore シュッ席- 入館管理アプリ
GitHub
secretused/student_attendance_app
まだissueベース開発を試せていないので, 実務を意識した開発を行なってみたいです。
機能
- 新規登録・ログイン
- ユーザ編集・削除
- QRコード読み込み
- 入館管理・絞り込み
- メンバー管理・絞り込み
- 団体の編集・削除
所感
勉強したことは自分の通う専門学校に来校されたKboyさんのFlutter実践を
最初にやりました。その後は随所公式ドキュメントや記事を検索をしてリリースまで出来ました。Widgetが整っており状態管理も理解しやすく, 初心者に優しいといった感想です。
反省点
- iOS・Androidそれぞれのユーザーの認識の差を考慮できなかった。
- エラー・バグ処理が網羅されていない。
- テストを意識した設計・開発ができなかった。
- 完成してからリリースまでを甘く見すぎていた。
良かった点
- 学校のためという目的を持って開発ができた。
- ニーズを考えてMVP(Minimum Viable Product)で作れた。
- インプットよりアウトプット寄りの学習ができた。
- デザインの使いやすさ, 統一感を意識できた。
今後は個人開発でもより実践的に近い
タスク管理やテストを導入しやすい設計を意識して開発していきたいです。
技術要素
環境
- Dart 2.16.2
- Flutter 2.10.4 • channel stable
- provider: ^6.0.2
State管理 ・ DB
Provider + ChangeNotifier で主にを管理しています。
KboyさんがFirebaseを導入した動画で使用していたため採用しました。
Riverpod + freezedの勉強を現在しています。
Firebase・Firestore 認証機能・データ管理をしています。
パッケージ ・ Widget
- flutter_barcode_scanner QRコード読み取り
- DatePicker カレンダーモーダル表示
- flutter_picker 絞り込みPicker表示
- CircularProgressIndicator Class ローディング処理
- url_launcher 外部サービス アクセスURL認証
- flutter_native_splash スプラッシュ画面作成
- permission_handler アクセス認証
- flutter_localizations 多言語対応設定
運用
- showLicensePage ライセンス提供
- Twitter: uta_app_vta お問い合わせフォーム
- Qiita: シュッ席 利用規約/プライバシポリシー
Firebase/AnalyticsとFirebase/Crashlyticsを今後使用したいです。
審査 ・ リリース参考リンク
- リリース編2 : AppStore/iOS
- App Store申請-Apple Developer Programへの登録
- Flutter製AndroidアプリをPlayストアにリリースするまでの手順を徹底解説
今回審査は 1リジェクト 2エラーでリリースができました。
審査は予想より対応が早く, 合計で2日程かかりました。
さいごに
勢いで始めた自分が短期間でアプリリリース出来るまでに成長したのには正直ビックリです。
開発を進めていると自分の苦手なところや性格がわかってくるので
改善点や今後の課題がわかりとても有意義です。
リリースまで繋げるとモチベーションやポートフォリオにもなるのでとても良かったです。
宣伝
入館管理アプリ シュッ席 というアプリをリリースしました。
改善点はありますが, 是非ダウンロードしてみてください!
iOS
AppleStore シュッ席
Android
GooglePlayStore シュッ席