---
# System prepended metadata

title: HackU kosen データベース定義書
tags: [HackU]

---

# HackU kosen データベース定義書
###### tags: `HackU`
## 要件定義
- 解説を投稿する機能
    - リンクしている教科書・問題を表示する
    - その投稿に対するコメント機能
    - その投稿に対するいいね(参考になった！)機能
    - やっている科目・教科書にお気に入り機能を付ける
    - 教科書ごとにまとめる機能
    - いいね数の多い投稿をまとめられる機能
    - 投稿フォーム
        - 写真で解説を撮って貼り付けられる機能
        - コメントを掲示板のように見える機能＋該当箇所にポップアップで表示させる機能
        - 教員や回答エキスパートのロール付与
        - 回答者はアカウント作成する ← ある程度の信頼度必要

    - 閲覧フォーム
        - 問題集をリスト化、検索フォームを作る
        - 複数解説を表示
        - ”とどろき英数塾”など既にある部分は引用できればいいなあ
        - みんなが調べてるやつなどをホーム画面におすすめ表示

## DBで管理する情報
- 教科書
    - 識別ID
    - 何の科目で
    - どこが出版している
    - どこの高専で使われている
    - どんな問題がある
        - どんな問題の解説がある
- ユーザー
    - 識別ID
    - どこの学校か
    - どんな名前か
    - どんなアイコンか
- 問題
    - 識別ID
    - どの***教科書***か
    - どのページか
    - 問題内容
- 解説
    - 識別ID
    - どの***ユーザー***が書いたか
    - いつ書いたか
    - どの教科書の問題か
    - 内容
        - 回答
        - 解説
    - いいね！
        - 誰がいいねしたか
        - いつしたか
    - 
- 
## テーブル設計
### Book

| index     | type     |
|:--------- |:-------- |
| uid       | uid      |
| textName  | String   |
| publisher | String   |
| usedPlace | String   |
| questions | Question |
|           |          |

### User
| index | type   |
|:----- |:------ |
| uid   | uid    |
| place | String |
| name  | String |
| icon  | String |
|       |        |

### Question
| index       | type        |
|:----------- |:----------- |
| uid         | uid         |
| book        | Book        |
| page        | String      |
| content     | String      |
| description | Description |

### Description
| index    | type      |
|:-------- |:--------- |
| uid      | uid       |
| question | Question  |
| writer   | User.name |
| anser    | String    |
| like     | Like      |

### Like
| index | type      |
|:----- |:--------- |
| uid   | uid       |
| user  | User.name |
| time  | Time      |