実践で学ぶRuby on rails 〜仮説千本ノック〜

プログラマーとして独立するため日々スキルアップに励んでいます。優れたプログラマは仮説を立てるのがうまい。そこを目指して仮説を立てては検証する日々です!!

ECサイト作成〜はじめに〜

RailsECサイトの開発するにあたり、

まずは、サイトはどう使う(操作する)ことを想定しているのか整理します。

この作業を通じて、何(DB、コントローラ、アクション、ページ)を作る必要があるのか、明確にしていきましょう。

 

 

〇基本的な機能

・ユーザー登録

・商品の出品

・商品の購入

 

〇追加機能(購入を促す機能)

・カテゴリ別一覧表示

・ブランド別一覧表示

・入力したキーワード該当商品の一覧表示(商品名等)

・選択した価格帯商品の一覧表示

・ユーザー評価機能(高い評価を受けているユーザーの商品は買いやすい)

 

 

〇各機能の詳細

続いて、サイトをどのように使うのか、詳細に表現することで、具体的に何をどう作れば良いのか、明らかにしていきます。

 

どのページにおいて、どんなデータを、どのタイミングで、どう処理し、処理後、どのページに移動するのか意識して、箇条書きにしてみましょう。

 

①どんなデータを扱うのか

作るべきテーブルが明らかになります。

作るべきコントローラーが明らかになります。

  

②データを「どう処理する」のか

使うべきアクションが明らかになります。

保存、保存したものの表示(←アクションではない)、更新、削除、いずれかになります。

 

③どのページにおいて・どのページに移動するか

作るべきページが明らかになります。

 

④どのタイミングで(「」内)

データの処理、ページ移動をどのタイミングで行われるよう設定するのかが明らかになります。 

〜の場合、についても、タイミングとして分類できる。

 

列挙した機能を見るとわかるように、

アプリ作成作業は、①〜④の要素を作成(設定)する作業によって構成される。

 

想定する機能

・ユーザー登録

▫️ユーザー新規登録ページにて、ユーザーに関する情報をフォームに入力、「登録ボタンを押すと」DBに保存され登録完了ページが表示される。

▫️一度DBに保存したユーザーは、ログイン画面にて、登録ずみのユーザーに関する情報の一部を入力し、「ログインボタンボタンを押すと」、ログインし、「その後」、トップページへ移動する。

▫️トップページにて、「ログアウトのリンクを押すと」、ログアウトし、「その後」、トップページへ移動する。

▫️トップページにおいて、ログイン中は、ログアウトのリンク、ログアウト中は、新規登録のリンクとログインのリンクが表示される。

 

 

▫️商品の出品

▫️出品ページにて、商品に関する情報をフォームに入力、「出品ボタンを押すと」、DBに保存され出品完了ページに移動する。

 

・商品情報の概要の表示

▫️一度DBに保存した商品に関する情報は、トップページでは、一部情報のみ表示できるようにする。

 

・商品詳細情報の表示

▫️トップページに表示される、「商品概要をクリック」すると、一度DBに保存した商品に関する情報を表示する詳細ページに移動する。

▫️ユーザーがログインしており、さらに、ログインユーザが出品者である場合に、詳細ページにおいて、編集リンクは表示される。

▫️ユーザーがログインしており、さらに、ログインユーザが出品者である場合に、詳細ページにおいて、削除リンクは表示される。

 

・商品情報の更新

▫️詳細ページに表示される「編集リンクを押すと」、編集画面に移動し、「更新ボタンを押すと」、商品に関する情報更新され、更新完了ページに移動する。

 

・商品情報の削除

▫️詳細ページに表示される「削除リンクを押すと」、削除しますか?ページが表示され、「削除実行リンクを押すと」、DBから商品に関する情報削除される。 

 

・商品の購入

▫️クレジットカード情報を登録ずみの場合、詳細ページに表示される、「購入リンクを押すと」、本当に購入しますか?ページに移動し、購入リンクを押すと、購入確定画面が表示される。

クレジットカードに関する情報を未登録の場合、登録画面へ移動し、クレジットカードに関する情報をフォームへ入力し、登録ボタンを押すと、(保存保留状態で)本当に購入しますか?ページに移動し、購入リンクを押すと、情報が保存され、購入確定画面が表示される。