Skip to content

Commit

Permalink
Merge pull request feedforce#8 from feedforce/mod-second-half
Browse files Browse the repository at this point in the history
後編を章立てにしてサンプルアプリのURLを追加
  • Loading branch information
sukechannnn committed Dec 28, 2017
2 parents 4dc92e0 + 58e11e8 commit dae78a0
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ forkしたらローカルにcloneしておいてください。
実装の参考になるように、こんな感じのものを作って欲しいというサンプル用のアプリケーションを用意しました。
サンプルアプリを触ってみてイメージを掴んだ上で中身を実装してみてください!

サンプルアプリはこちら(ただいま準備中です、もう少しお待ち下さい🙏)。
- [サンプルアプリはこちらです](https://e-navigator.herokuapp.com/)

### 詳細な説明
必要な機能の一覧は以下の通りです。
Expand Down Expand Up @@ -101,11 +101,14 @@ Pull Requestを作る際には、以下の画像を参考にして Base Reposito
![base_repository](https://github.com/feedforce/e-navigator/wiki/images/base_repository.jpeg)

## 後編
後編はちょっと長いので、章立てにしてあります。
後編の全てを1つのプルリクエストにすると非常に長いので、各章または各節で個別にプルリクエストを作ってください。それでも長いと感じたら、自分のタイミングでプルリクエストを作って頂いても大丈夫です。作って頂いたプルリクエスト単位でレビューとアドバイスをします。
また、ここからは実装方法についても気軽に相談してください。後編は試行錯誤が必要になると思います。一緒に進めていきましょう!

### 自分の面談日程の表示・登録・編集・削除機能
### 第1章 自分の面談日程の表示・登録・編集・削除機能
まずは自分の面接を表示・登録・編集・削除できるようにしていきましょう!

#### 面接日程を表示・登録できるようにする
#### 第1節 面接日程を表示・登録できるようにする
面接日程を登録するためにはその情報をDBに保存する必要があります。
そのために、まずはモデルを作りましょう。モデル名は何でも良いですが、ここでは`Interview`モデルとします。`Interview`モデルは`User`モデルに対して1対多でリレーションを貼ってください。

Expand All @@ -117,32 +120,32 @@ Pull Requestを作る際には、以下の画像を参考にして Base Reposito

一覧で表示できるようになっても、まだデータを登録していないので表示する内容がありません。そこで、面接日程を登録できるようにしていきます。`InterviewsController#new`で面接日程を登録するための画面を表示し、`InterviewsController#create`で面接日程を登録できるようにしましょう!

#### 面接日程を編集・削除できるようにする
#### 第2節 面接日程を編集・削除できるようにする
面接日程の表示・登録ができるようになったら、次は編集と削除をできるようにします。

`InterviewsController#edit`で面接日程を編集するためのページを表示します。そして、`InterviewsController#update`で面接日程の編集を反映できるようにします。
最後に、`InterviewsController#destroy`で一度保存した面接日程を削除できるようにしましょう。

面接日程のCRUD操作(表示・登録・編集・削除)ができるようになったら次に進みましょう!

### 面接官が面談日程を承認 or 拒否するための機能
### 第2章 面接官が面談日程を承認 or 拒否するための機能
次は面接日程の可否を判断する面接官のための機能です。改めて新しいアカウントで登録し、つづきを実装していきましょう!

#### 自分以外のユーザーの一覧をトップページに表示する
#### 第1節 自分以外のユーザーの一覧をトップページに表示する

まずは、自分以外の全てのユーザーの一覧をトップページに表示してください。そこに名前やメールアドレスなどのユーザー情報も表示しておきましょう。ここに、他の人の面接一覧を表示するページへのリンクを追加します。(もちろん自分以外のユーザーの面接日程が必要です。あらかじめアカウントを2つ以上登録しておきましょう)

#### 面接官用の面接日程一覧ページを作る
#### 第2節 面接官用の面接日程一覧ページを作る
自分の面接日程は登録や編集ができる必要がありましたが、面接官が面接日程を見る際には「面接はこの日に決定!」という風に、面接日程を指定できる必要があります。そうすると、同じ面接日程の一覧ページでも表示したい内容が異なりますね。

そこで、自分以外の面接日程の一覧を`InterviewsController#index`で表示した際には、どの面接日程で面接を行うのかを選択できるようにしたいです。(ここは説明が難しいのでサンプルアプリを見てみてください)

表示内容を出し分けるにはパーシャルを使うと良いです。また、コントローラーを分けてしまうという手もあります。やりやすい方法で実装してみてください。

#### 面談日程を承認or拒否できるようにする
#### 第3節 面談日程を承認or拒否できるようにする
面接日程を選択したら、その日がその日が面接日であることを保存してください。また、他の日が面接日程でないことも同様に保存できるようにしてください。

### 面談日程を知らせるためのメール送信機能
### 第3章 面談日程を知らせるためのメール送信機能
面接日程を登録する場合も、それを承認する場合も、登録したことや承認したことを知らせる必要があります。ここではメールを使ってリマインドができるようにしましょう!

メールの送信はActionMailerとGmailを使うことで無料で実装することができます(ここでは送信だけで大丈夫です)。メールの文面は、面接官に送信する場合と自分に送信する場合とで分けてください。
Expand Down

0 comments on commit dae78a0

Please sign in to comment.