個人開発 Restin(リリース)
<概要:休憩場所の検索マップアプリ「Restin」>【開発背景】独学【利用言語】Dart【開発環境】Flutter このアプリの開発を始める半年前に、記事を参考に作成したSNSアプリを改良し自分好みの機能を持ったアプリを開発していました。 リリースをしたかったアプリなのですが、ほぼ全てのファイルが冗長で、状態管理のパッケージもなんとなくで使用し、フォルダ構成も大雑把だったのでリファクタリングやエラーの解析などへのモチベーションが維持できませんでした。 ですが、今回そのような点を全て改善することができました。 なぜかというとこのアプリを開発し始めたきっかけはFlutter勉強のアウトプットのために個人開発を始めましたが、勉強のアウトプットだけで済ませるのではなく、挑戦をしようと思い、前回の反省をもとに他人からも見やすく、理解しやすいようなコーディングやgitflowにのっとった開発を行ったからです。 具体的な例を挙げると、バレルファイルを使用し、コンパクトな記述を意識をすること、似た部分の共通化を必ずすること、コミット名をあとから見返しても分かりやすいように命名すること、PRで実装内容の詳細を記述、プレビュー、参考記事を添付することなどです。 これらを行うことで後から見返す際や開発中のモチベーションの維持に繋げられたと思います。 そしてリリースできる状態になったいま、それらが達成出来て良かったとともに自分の自信に繋がりました。 アプリの機能で工夫をした点は、認証やユーザー作成の過程が複雑だと離脱率が上がる可能性があったため、認証をスキップできる機能を作成いたしました。 また認証では簡単なサインイン、サインアップだけではなく、firebaseを用いてメール確認機能やパスワードリセット機能、パスワード登録時のセキュリティ強化のバリデーション機能などを作成いたしました。 他にもこだわった機能はマーカーの詳細画面のリッチ化、マーカーの検索機能、マーカーの保存機能などです。 これらの機能は自分があったらいいものを言語化して形にしつつ、改良を重ねて開発をしていました。 前回の失敗をどのように改善するかを考え、改善案が適していたので快適な開発をすることができ、モチベーションを維持することができました。 今後の個人開発では、CI、CDやテストなどを積極的に整備し、実行していこうと思います。