【結論】
・コピーサイトを作るにしても、
プラスαの機能を自ら考えて追加実装すべき
・指示された通りに事しか出来ない人材の価値が
低いのは、どの業界であっても同じ
・だから、ただ模倣するだけではなく、
「どうすればより使われるサービスになるのか?」という事を
自ら思考して、実際に形にすることが重要
【目次】
【本題】
チーム開発が終了しました
今日で取り組んでいたチーム開発が終わり、
スクールの課題が全て終了しました!
4週間に亘ってメルカリのコピーサイトを
自力で製作するという課題ですが、無事完成させることが出来ました。
今回は、これまでの開発を振り返っていきたいと思います。
担当箇所
【役割】
・スクラムマスター
【インフラ】
・本番環境にデプロイ
【マークアップ】
・ユーザー新規登録/ログインページ
・トップページ
・ユーザー本人確認ページ
・ユーザーログアウトページ
【サーバサイド】
・ユーザー新規登録、ログイン(メールアドレス/ソーシャルログイン)
・商品購入
特に工夫した箇所:ページ遷移するユーザー登録画面
オリジナルサイトでは、ユーザー登録フォームが複数ページに分かれています。
ページを遷移すると、前ページの入力フォームの情報は消えてしまう為、
「どの様にして、入力フォーム全ての情報を保持するか?」が、実装の課題でした。
まず、実装を行うにあたり、下記3つの手法を比較し、最も良い実装方法を探りました。
・ページ毎にデータベースへ保存を行う
メリット → モデルにバリデーションを書くだけで済む
デメリット → 登録を中断しても、DBにデータが保存される
RESTの原則に則る場合、コントローラーはページの数だけ必要
・セッション(session)を利用する
メリット → 登録を中断しても、DBにデータは保存されない
デメリット → RESTの原則に則る場合、コントローラーはページの数だけ必要
コントローラーにもバリデーションを記述する必要がある
・JavaScript(jQuery)でページ遷移を表現する(ビュー・コントローラーは一つ)
メリット → 登録を中断しても、DBにデータは保存されない
コントローラーとビューが一つだけで済む
デメリット → JavaScriptにもバリデーションを記述する必要がある
今回は、「JavaScript(jQuery)でページ遷移を表現する」手法を採用しました。
その理由は、最もデメリットが低いということもありますが、
ある機能を追加実装させたかったからです。
それは、フォーム入力直後に、エラーメッセージを表示させる機能です。
上のGIFは本家メルカリの新規登録フォームですが、
フォーム入力直後にはエラーメッセージが表示されず、
送信ボタンを押してから初めてエラーメッセージが表示されます。
送信ボタンを押さないと正確な情報を入力出来ていたのか
ユーザーが判断出来ないのは、無用なストレスに繋がると感じました。
JavaScript(jQuery)を駆使すれば、
フォーム入力直後に、エラーメッセージを表示させる事は可能ですし、
JavaScript(jQuery)でページ遷移を表現すれば、
一部のコードを共有して開発スピードを早めることが出来る為、
JavaScript(jQuery)でページ遷移を表現しました。
自ら試行錯誤することの重要性
こういった工夫は、本来カリキュラムには指定されていないことなので、
やらなくても、スクールの卒業が延びたり、就職サポートを受けられないといった影響はありません。
それでも私が取り組んだのは、実際の現場では、ただあるものを模倣するのではなく、
ユーザーに使われるサービスを作る必要があると感じているからです。
他社サービスの品質が向上する中で、ユーザーに自社サービスを使い続けて貰うには、
「どうすれば、使われるサービスになるのか?」という事を、
常に問い続け、試行錯誤する必要があると考えています。
なので、課題と侮らず、「どうすれば使い勝手が良くなるか?」
というプラスαをいかに盛り込んでいくかという事を意識して取り組みました。
・・・と就活で言いたいが為に作った笑
というところで、続きは次回!
《今日の学習進捗》
チーム開発:28日目
チーム開発終了!!
今日は今までの振り返りと、発表会へ参加。
明日以降は、就活と並行して個人アプリの製作に取り組む。
学習開始からの期間 :78日
今日までの合計時間:791h
一日あたりの平均学習時間:10.2h
今日までに到達すべき目標時間:712h
目標との解離:79h
「10,000時間」まで、
残り・・・「9209時間!」