オリジナルアプリの要件定義
総論
オリジナルアプリである掃除アプリ開発を計画通り推進中。企画及び要件定義を完了した。ペルソナを昨今のコロナ渦と関連させ、抱える問題をメンタル悪化と設定した。設定した問題を2つの課題へ落とし込み、7つの機能抽出、その機能を網羅する10ページの構想及び画面遷移図を実施済み。今週からDB設計に着手する。
ペルソナ及び2つの課題
ペルソナ像を主にリモートワークによる業務従事者とおき、自宅にこもりがちな生活環境を想定した。故に人との接点不足による孤独及び、デスク周りの清掃不足によるメンタルヘルス悪化を問題と捉える。この問題を解決するため、下記スライドのように課題を2つに分離した。
課題に対する7つの機能
分離した2つの課題に対し、7つの機能抽出を行った。1つ目の課題「対面に代る、孤独を感じない仕組みの確立」に対する対応として、自分のアクションに対し、何かしらのリアクションがあると考えた。具体的には自分のデスク画像を共有しコメントを貰える機能を想定している。従って、下記3つの機能が必要となる。
・画像投稿機能(1/7)
・投稿画像の一覧表示機能(2/7)
・コメント投稿機能(3/7)
2つめの課題「清潔が保たれている空間の確保」について、アプリから清掃箇所の提案機能を設定した。毎日少しずつ掃除を行い、清潔を保てるような掃除の提案を想定している。また、デスク上に異常があった場合(散らかっている状態)、ラズパイ カメラとの連携により、アプリに通知する構想を検討した。以上から下記4機能を抽出した。
・清掃箇所及び関連情報の登録機能(4/7)
・アルゴリズムの実装、提案(5/7)
・ラズパイ +カメラによる監視(6/7)
・異常データの受け取り機能(7/7)
7つの機能を網羅する10ページの構想
全部で10ページを構想した。各ページは大きく分けて下記3つに分類できる。
・基本ページ(ログイン)
・画像投稿ページ(画像投稿、編集など)
・掃除提案ページ(掃除箇所の登録、提案など)
基本ページは主にユーザー管理機能と画面遷移機能を持たせる。トップページからは画像投稿ページと掃除提案ページにそれぞれ遷移できる。画像投稿ページや掃除提案ページを全体のトップページとしなかったのは、ユーザーによって使いたい機能が異なると想定したためである。掃除をしたいと思うユーザーは画像投稿ページを最初に閲覧はせず、掃除を終えたユーザーは掃除提案ページの閲覧はないと考えた。
画像投稿ページは掃除後のデスク画像などの共有、編集、コメントができる。投稿画像のトップページは投稿画像一覧ページを想定しており、閲覧のみならログインの必要はない構想をしている。
掃除提案ページは予め掃除箇所及び関連情報を保存することで、適切な掃除箇所を提案する。どのようなアルゴリズムにするか、具体的な検討は未着手である。下記リンク先の献立アプリを参考とする。
画面遷移図
設定した10ページの画面遷移図を作成した。ページ階層の一番上がトップページであり、その下に投稿画像のトップページと掃除提案のトップページを配置する想定である。トップページを機能ごとに分け、遷移先もそれぞれ分ける狙いである。例えば投稿画像に編集を加えた後に画像投稿のトップページに遷移する。
テックキャンプ 6週目の振り返り(2020/10/26〜11/1)
総論
テックキャンプ の最終課題 Furimaアプリの達成要件を3週間前倒しで完了した。これはオリジナルアプリ開発工数を3週間確保できたことを意味する。掃除アプリ(オリジナル)アプリも計画通り推進できている。掃除アプリの機能を補完するためのラズベリーパイを制御する言語、Pythonの学習に着手した。
学習内容
最終課題の残タスク2項目(決済機能、Basic認証)を完了した。当初2,3日程度の工数で完了する見込みだったが、5日程度かかった。これは予期しないエラーや複数テーブルの同時保存機能に工数を要した。最終課題を通して苦労した箇所は別記事でまとめる。
掃除アプリ
先週抽出した7機能を網羅する作成ページを構想した。大きく分類すると下記3つが挙げられる。詳細は別記事にまとめる。
・基本ページ(ログインなど)
・画像投稿ページ(画像投稿、編集など)
・掃除提案ページ(掃除箇所の登録、提案など)
ラズパイ 連携アプリ
ラズパイ 制御のため、Pythonの学習に着手した。初めにProgateを参考に環境構築を実施した。また教材に沿って学習し、簡単なミニアプリを作成した。詳細は別記事にまとめる。
テックキャンプ 5週目の振り返り(2020/10/19〜10/25)
総論
テックキャンプの予定に対し3週間前倒しできており、順調に学習できている。ポートフォリオとなる掃除アプリは要件定義に着手し、計画通りに推進できている。掃除アプリの機能を補完する位置づけでラズベリーパイ活用を検討した。必要となるラズベリーパイ 及びカメラ、周辺設備を入手した。
学習内容
全体計画に対し3週間前倒しできており、オリジナルアプリ開発の工数を確保できた。現在最終課題のアプリ制作を対応している。全タスク10項目中8項目を完了した。残項目は10/26週の前半に完了見込みである。
新しくActiveHashの活用を習得した。これは Rails Gemの1つである。使い所としては都道府県などの変更されない選択データがある。これはモデルファイルに都道府県データを記述し、データベースへ保存しない特徴がある。これによりテーブル数の無駄な増加を防ぐことができる。詳細は別記事でまとめる。
掃除アプリ
コロナ渦により、リモートワークによる勤務形態が増えている。通常と異なる勤務形態により、下記2点の理由よりメンタルヘルスの悪化を懸念する。
・人との接点が減っている。孤独を感じる
・デスク周りの汚れや整理整頓に対し、他社から指摘されない。(デスクや部屋が汚くなり、ストレスを感じる)
この2つを課題とし、解決方法及びアプリの機能を抽出した。定期的もしくは異常時に清掃をユーザーに促し、清掃後のデスク写真を投稿できるアプリを構想している。具体的なページ設定や画面遷移図は今後推進する。
ラズパイ連携アプリ
上記掃除アプリの機能補完の位置付けとして、ラズベリーパイ活用を検討している。必要部品を発注し、既に入手した。またそれに伴い、計画を作成した。10/26週からPythonの学習を開始し、12/4完了目標で開発を推進する。
ラズベリーパイ活用事例の調査
概要
現在プログラミングスクール(オンライン)に通いながら、ポートフォリオ(掃除アプリ)の開発検討をしている。スクールの開発手順通り、ペルソナ像・ユーザーストーリーの構想を完了した。しかし、下記2点より他受講生との差別化が弱いと予想される。結果として転職活動にも不利になると予想される。
・使用言語がスクールで学習したRubyである
・ソフトウェアのみで完結するアプリ
差別化を図り、転職活動を優位に進めるため、自身の電子回路設計経験からハードウェアとの連携アプリの検討を着手した。
結論
調査指針に従い、ラズベリーパイ(以下ラズパイ ) を用いたプログラミング例を調査した。その結果、ラズパイ とカメラを用いた学習キットを学習材料として選定した。
詳細な調査内容
調査目的
学習用既存アプリの決定を調査目的とする。
補足
ラズパイ を用いたアプリ開発にかけられる工数は2週間と見積もった。そのため効率的に開発を進める必要がある。初めにお手本となる既存アプリを通して学習を行う。
調査項目(観点)
調査項目は下記3点とした。部品手配を10月末とした場合、遅くとも11月には入手している必要がある。そのため入手までのリードタイムは1ヶ月以下とする。学習難易度の指標として教材などがあるかを重視する。またこのアプリ開発の目的を明示するため、自分との何かしらの関連性が必要と考えた。
・入手性(1ヶ月以下)
・学習難易度(学習キットや書籍があること)
・関連性(自身の経験、スキル or 掃除アプリなど)
調査結果
学習のしやすさと掃除アプリとの関連性からラズパイ+カメラを選定した。具体的な決め手として、オンライン勉強会と掃除アプリとの相性だった。
次点としてはアクチュエータ(モータ)制御であった。学習材料としては問題ないものの、掃除アプリとの関連が弱く次点とした。但し、希望する転職先企業がアクチュエータを用いた事業を行っているなら、着手することも検討する。
最終的に却下したのは自動水やり機である。理由は今回調査した範囲では学習キットや教材が乏しく、学習難易度が高いためである。また、関連性が自身の趣味のみだった。故にアプリ開発の目的が説明しづらく却下に至った。
テックキャンプ4週目振り返り(2020/10/12〜10/18)
総論
テックキャンプの予定に対し2週間前倒しできており、順調に学習できている。ポートフォリオとなるオリジナルアプリは2つを同時並行して進めている。先行して進めている掃除アプリはユーザーストーリーを予定通り推進した。もうひとつのアプリはラズペリーパイを用いたアプリを想定している。調査結果からAIカメラを用いたラズベリーパイを題材とすることを決定した。
学習内容
発展コースの実装課題を完了した。これまで学習したアプリの復習の位置づけとなった。基本的なルーティングやコントローラのアクションの認識に問題はなかった。一方で、理解の浅い箇所もあることが分かった。特に紐づいたテーブルからのカラム情報取得の記述は復習が必要である。
ポートフォリオ
掃除アプリ
掃除アプリは予定通り推進している。ペルソナの背景(ユーザーストーリー)を昨今のコロナ渦におけるリモートワークとした。課題を2つ抽出した(孤独と汚部屋)。具体的な課題解決手段は10/19週に検討する。
ラズベリーパイ活用のアプリ
転職活動をより優位に進めるため検討を着手した。掃除アプリ開発後着手を予定しており2週間程度で完了を目指す。初めに既存アプリのトレースを目標とし調査を実施した。調査結果からAIカメラ+ラズパイ の組み合わせをトレース材料として選定した。
詳細は別記事に記す。
転職活動
履歴書の作成を完了した(顔写真は別途添付)。また、転職先選びの指針決めとしてマーケットバリュー、働きやすさ、活躍の可能性を抽出した。今後各々に対し、具体的に定義をしていく。
調査:ネスカフェアプリ
先日献立アプリを分析し、下記3つの
ペルソナ像を抽出した。
・ゴール達成のための手段が複数ある
・手段の選択に煩わしさを感じている
・選択基準の1つに「気分」がある
ここから転用するならば・・・。
そう考え、下記2つを検討した。
・毎日の洋服選び
・週末の掃除場所
しかしライフコーチとの定期面談を思いだす。
「企業の採用担当はポートフォリオから
その人らしさもみています」
そう考えると洋服や掃除アプリは自分
らしいのか?
自分らしさとは?仕事か趣味か、性格か。
一番押すとしたら仕事かな。
やはりハードウェアの開発経験があること。
そうするとハードとセットのアプリを
参考にしたくなる。
ちょうど家にあるコーヒーメーカーが該当する。
このコーヒーメーカーはハードだけで
基本機能を満足する。これにソフト(アプリ)が
加わることにより下記が追加される。
・コーヒーのカスタマイズ
・貯めれば景品と交換できるポイント
つまり、ハードだけで自律しているものの
ソフトとの併用によりより使いたくなる、
ということ。
ここから先はまだ具体的には考え及ばず。
しかしハードはラズベリーパイがよさそう。
テックキャンプ3週目振り返り(2020/10/5〜10/11)
総論
テックキャンプの予定に対し10日程度前倒しできており、順調に学習できている。ポートフォリオのペルソナ検討に工数が取られたものの、ペルソナ像を抽出し前進した。
学習内容
週の前半に応用コースでChatAppの制作を行い、完了した。後半は発展コースでJavaScriptの学習を開始した。基礎コースで作成したFirstAppにJavaScriptを使用した非同期通信を追加した。
応用コース・ChatApp
新しいアプリ「ChatApp」の制作を行った。これは画像とメッセージをチャットルームごとに共有できるアプリである。このアプリ開発は実際の開発に近い形で推進した。具体的にはペルソナ設定からDB設計、プログラム記述の他にテスト実施まで含む。また、GitHubによる履歴管理も同時に行い、実開発を意識して取り組めた。
⇨全体の流れを忘れないよう、毎日30分程度復習を行う。
発展コース・FirstAppに非同期通信追加
JavaScriptの学習を実施した。基礎コースで作成したメモアプリ「FirstApp」に非同期通信による既読機能を追加した。非同期通信の構造はビューとコントローラーの間に橋渡し役のJavaScriptがある。これによりブラウザ読み込みせずともビューに変化を与えることができることを体感した。
⇨全体の流れを忘れないよう、毎日30分程度復習を行う。
ポートフォリオ
ほぼ計画通りに推進中。ライフコーチとの面談と参考アプリからヒントを得た。その結果いくつかのペルソナ像を抽出できた。詳細をまとめ、次回ライフコーチとの定期面談時に意見を貰い推進する。