フリマ―ケットアプリケーション
アプリケーション情報
接続先情報
URL http://18.177.99.221/
ID/Pass
ID: 66_mercari_a
Pass: 66a
Githubリポジトリ
https://github.com/taka1127/free_market_app 開発状況
各担当箇所の詳細
● DB設計
○ 概要
■ 必要なテーブル、カラムの選定。アソシエーションの決定。
○ 担当内容
■ ER図の作成
■ 各テーブルの作成
■ モデルへのアソシエーションの記述
● ユーザーマイページ関連(マイページ、プロフィールページ、本人確認ページ、支払い 方法ページ、ログアウトページ)
○ 概要
■ ログインしたユーザーが利用する本人情報についてのページ
○ 担当内容(バックエンド)
■ マイページ用のコントローラを作成し、ルーティングを設定しました。 マイページの各ページへの遷移ではログインしていないユーザーはペー ジに遷移できないように各ページのアクションで設定しました。
■ 本人確認ページでは住所を変更できるようにしました。
■ プロフィールページではプロフィールの変更・修正ができるようにしま した。
○ 担当内容(フロントエンド)
■ haml,scss,javascriptを使用しトップページのマークアップ作業を行いま した。タブ切り替えの実装を行いました。
● ウィザード形式によるユーザー新規登録
○ 概要
■ 対話形式によるユーザー新規登録機能
○ 担当内容(バックエンド)
■ 対話形式に登録が進行するようにコントローラ、ルーティングの作成を しました。
■ sessionを利用し、各ページの情報を保管、ユーザーと住所の情報が問題 なく入力され保存された場合にのみ登録完了ページに遷移するように条 件分岐をしました。
■ 登録がうまくいかなかった場合は、再度新規登録ページに遷移し登録が できなかったflashメッセージを設定しました。また、ログイン、ログア ウトができたかをわかりやすくするためにトップページにログイン完 了、ログアウト完了のflashメッセージを設定しました。
● デプロイ
○ 概要
■ AWSによる、S3の設定。EC2インスタンスの作成をし、 Capistranoを利 用した自動デプロイを担当。
○担当内容
■ デプロイ時のエラーが発生した場合、ログを確認し該当箇所のエラー修 正を行ったり、本番環境のDBの確認を行い、ローカル環境との相違がな いかを確認していました。
開発を通じて得られた知見
工夫した点
- チームとして工夫を行った点 各担当者がどの作業を行っているかを把握するためにslackを活用し、綿密に連絡を取り合う ことでメンバーとの情報共有がはかどりました。 マークアップ作業を行った人が、そのページのバックエンド作業を行うことにした為、作業を スムーズに進めることができました。また、はじめにマークアップ作業をまとめ終わらせまし た。その為、作業を行いながら、フリマアプリの機能の詳細や、バックエンド開発のイメージを つかむことができました。また、商品のバックエンドとユーザーのバックエンドで共通する部分 はチームと共有することで自分の担当する昨日に活かせることができました。
- 個人として工夫を行った点 ウィザード形式のユーザー登録でsessionを利用した方法を用いユーザが登録できたのかでき なかったのかをわかりやすくするためにflashメッセージを活用しました。 トップページのスライドショーもライブラリを利用するなど使ったことのないライブラリを積 極的に実装に取り入れました。 マークアップでは選択している項目に変化をつけるために色に変化をつけたりiconの大きさが 変化するようにわかりやすさを意識して取り組みました。 本番環境の挙動確認の際、デプロイ処理を確実に行うためにコマンドをスムーズに実行できる よう自分用のメモをまとめ動作確認が手間取らないようにしました。
苦労した点
- ウィザード形式のユーザー登録で実装がうまくいかず考え込むことがありました。binding.pry を活用し、値が取れているかを検証し仮説をたて粘り強く行っていくうちに実装がなんとかでき ました。チームメンバーとの情報共有や、調べた資料を読み込む中で初めは理解が乏しかったも のが次第に理解ができていき、次の理解できていないところを何度も調べ読み込むうちに実装に 近づいていきました。「仮説、検証、調べる、チームと情報共有」を繰り返すことで今までわか らなかったことがわかるようになり自分の成長に繋がりスキルが向上しました。コツコツと諦め ずに続け学んでいくうちに「覚えた」ではなく「理解できた」ことにより自分の知識に定着する ことを学びました。今後もコツコツと積み重ねて学び、スキルアップに繋げていきたいです。