チーム開発の振り返り(その1)

f:id:ryoutaku_jo:20190223201900p:plain

【結論】
・コピーサイトを作るにしても、
 プラスαの機能を自ら考えて追加実装すべき

・指示された通りに事しか出来ない人材の価値が
 低いのは、どの業界であっても同じ

・だから、ただ模倣するだけではなく、
 「どうすればより使われるサービスになるのか?」という事を
 自ら思考して、実際に形にすることが重要


【目次】


【本題】

チーム開発が終了しました

今日で取り組んでいたチーム開発が終わり、
スクールの課題が全て終了しました!

4週間に亘ってメルカリのコピーサイトを
自力で製作するという課題ですが、無事完成させることが出来ました。

今回は、これまでの開発を振り返っていきたいと思います。

担当箇所

【役割】
スクラムマスター

ryoutaku-jo.hatenablog.com


【インフラ】
・本番環境にデプロイ

マークアップ
・ユーザー新規登録/ログインページ
・トップページ
・ユーザー本人確認ページ
・ユーザーログアウトページ

【サーバサイド】
・ユーザー新規登録、ログイン(メールアドレス/ソーシャルログイン)
・商品購入

特に工夫した箇所:ページ遷移するユーザー登録画面

f:id:ryoutaku_jo:20190223211406p:plain

オリジナルサイトでは、ユーザー登録フォームが複数ページに分かれています。
ページを遷移すると、前ページの入力フォームの情報は消えてしまう為、
「どの様にして、入力フォーム全ての情報を保持するか?」が、実装の課題でした。


まず、実装を行うにあたり、下記3つの手法を比較し、最も良い実装方法を探りました。


・ページ毎にデータベースへ保存を行う
 メリット  → モデルにバリデーションを書くだけで済む
 デメリット → 登録を中断しても、DBにデータが保存される
         RESTの原則に則る場合、コントローラーはページの数だけ必要

・セッション(session)を利用する
 メリット  → 登録を中断しても、DBにデータは保存されない
 デメリット → RESTの原則に則る場合、コントローラーはページの数だけ必要
         コントローラーにもバリデーションを記述する必要がある

JavaScriptjQuery)でページ遷移を表現する(ビュー・コントローラーは一つ)
 メリット  → 登録を中断しても、DBにデータは保存されない
         コントローラーとビューが一つだけで済む
 デメリット → JavaScriptにもバリデーションを記述する必要がある


今回は、JavaScriptjQuery)でページ遷移を表現する」手法を採用しました。

その理由は、最もデメリットが低いということもありますが、
ある機能を追加実装させたかったからです。

それは、フォーム入力直後に、エラーメッセージを表示させる機能です。

f:id:ryoutaku_jo:20190223211452g:plain

上のGIFは本家メルカリの新規登録フォームですが、
フォーム入力直後にはエラーメッセージが表示されず
送信ボタンを押してから初めてエラーメッセージが表示されます。

送信ボタンを押さないと正確な情報を入力出来ていたのか
ユーザーが判断出来ないのは、無用なストレスに繋がると感じました。

JavaScriptjQuery)を駆使すれば、
フォーム入力直後に、エラーメッセージを表示させる事は可能ですし、
JavaScriptjQuery)でページ遷移を表現すれば、
一部のコードを共有して開発スピードを早めることが出来る為、
JavaScriptjQuery)でページ遷移を表現しました。

f:id:ryoutaku_jo:20190223213013g:plain

自ら試行錯誤することの重要性

こういった工夫は、本来カリキュラムには指定されていないことなので、
やらなくても、スクールの卒業が延びたり、就職サポートを受けられないといった影響はありません。

それでも私が取り組んだのは、実際の現場では、ただあるものを模倣するのではなく、
ユーザーに使われるサービスを作る必要があると感じているからです。

他社サービスの品質が向上する中で、ユーザーに自社サービスを使い続けて貰うには、
「どうすれば、使われるサービスになるのか?」という事を、
常に問い続け、試行錯誤する必要がある
と考えています。

なので、課題と侮らず、「どうすれば使い勝手が良くなるか?」
というプラスαをいかに盛り込んでいくかという事を意識して取り組みました。
・・・と就活で言いたいが為に作った笑




というところで、続きは次回!

《今日の学習進捗》

チーム開発:28日目
チーム開発終了!!
今日は今までの振り返りと、発表会へ参加。
明日以降は、就活と並行して個人アプリの製作に取り組む。

学習開始からの期間 :78日
今日までの合計時間:791h
一日あたりの平均学習時間:10.2h
今日までに到達すべき目標時間:712h
目標との解離:79h
「10,000時間」まで、

残り・・・「9209時間!」