Springでポートフォリオを作る　3-2.機能設計

# 前回まで
前回は画面設計を行いました。

https://qiita.com/Jackoguro/items/2bcaac1b13aa61131598

# この記事の目的
この記事では機能設計を行います。

# 機能設計とは
機能設計では裏側で実行する処理、必要なデータを定めるフェーズです。
必要な決定事項は以下の3つになります。
- [ ] 裏側の処理(機能名と処理内容)
- [ ] 処理に必要なデータ、データの取得元(画面から入力、DBから取得等)
- [ ] 処理したデータの受渡し先(画面表示、DBへ保存等)

画面遷移図で登場した各ページについて大まかに機能設計していきます。

# 機能設計全体図

https://www.figma.com/file/dUl8cVdqXPlB5c5yFPWwXB/%E6%A9%9F%E8%83%BD%E8%A8%AD%E8%A8%88?node-id=0%3A1&t=H7BLvqNf0mvJX7Tz-1

## 新規登録画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/92fc5ac1-d8e5-7fdc-c4f0-18ba7cd904b9.png)

## ログイン画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/99ee18fc-49f2-5b54-a09a-2c034edf83c3.png)

## 初期設定画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/2ca9e044-c52f-3a91-2ec7-64c9d511e695.png)

## クエスト一覧画面(デイリークエスト)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/356ec15d-3ef9-1b03-f520-1cfd301a95eb.png)

## クエスト作成/編集画面(デイリークエスト(時間))
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/a3c1b5f8-b719-42ee-7dee-18775e6d2a91.png)

## クエスト作成/編集画面(デイリークエスト(量))
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/d2f27638-7fc3-f688-757b-c8e36b3ff667.png)

## クエスト実施画面(デイリークエスト(時間))
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/0f32ba4b-c55b-ac29-3e6a-738aa2468b0a.png)

## クエスト実施画面(デイリークエスト(量))
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/24286c07-8570-761c-e3ca-e1b1e85868fc.png)

## クエスト一覧画面(TODOクエスト)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/59312580-9562-9956-0ec3-386dcab988c3.png)

## クエスト作成/編集画面(TODOリスト)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/f641af74-37ff-c3c6-d705-74b0d387ff4e.png)

## クエスト実施画面(TODOクエスト)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/e153a81b-8a6a-a77b-16c1-25d5b9eaf684.png)

## クエスト一覧画面(ダンジョンクエスト)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/76ee35ff-8abe-bb28-42f6-30e4ce8024bb.png)

## クエスト実施画面(ダンジョンクエスト)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/7ab1b899-799a-2187-5256-837ddff3334a.png)

## ステータス画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/4d52ce58-f20b-30c7-5b4e-8f657a724dd5.png)

## レポート画面(学習時間)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/884cb0f2-63b5-088a-a746-d3ebfc1758c6.png)

## レポート画面(時間配分)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/fc0a9349-5476-ebfb-2a29-ba2d26cd6e6e.png)

## 所持品画面(アイテム)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/dccca5bb-1296-a7e5-17c4-e91c12b862bb.png)

## 所持品画面(装備)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/43529f57-8a47-f07c-7e2c-e01917f50a95.png)

## ショップ画面(道具屋)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/ef72432e-de47-9a3f-bd19-b30e701d7b6d.png)

## ショップ画面(装備屋)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/3867eef7-fc67-ed34-8b7d-2285026a9ccc.png)

## アカウント設定画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/e27e1c63-3d2c-b26b-cb24-898836ce7c71.png)

## 共通画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/6c283d6a-dcbd-d04b-9587-59aa3be61b72.png)

## 今週の画面作成画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/d4e388c5-763f-618a-a8c5-f94110b3cfa6.png)