---
# System prepended metadata

title: uch_Project squirrel-factory 家用食物管理系統

---

[班級分組.excel](https://docs.google.com/spreadsheets/d/1NdUXHOLTsmEzYiLplYtHmZkeZHF3BIcGCuBpc-14U-k/edit#gid=0)
[Java程式設計師養成班 專題](https://hackmd.io/@aaronlife/2023-java-1-finalproject)

[Github Repository](https://github.com/yenkemiel/uch_project)
[資料庫設計](https://hackmd.io/L_ncGcA5RuCuyBwoIb674A)
[前端頁面設計](https://hackmd.io/WwppaMqsQHunJxhJItsSVw)

[uch_Project 家用食物管理系統](https://hackmd.io/2Ivu3mz6Rlqu2xVu0MyEuQ)


**Outline**
[TOC]

## TODO

### 0. Pages
1. 登入
2. 食物庫存表
3. 食物營養資訊表
4. 預計採購清單表
5. 會員管理(有時間再做)

# 進度
## 0. 待解決問題
1. 食物營養資訊表問題
    1. 無法刪除
    2. 編輯完無法確定
### 詢問老師
## 1. 頁面相同功能
O：已完成 / X：不需要此功能 / ==進行中==
|          | 登入 | 登入 |     庫存表     |     庫存表     |    營養表    |    營養表    | 採購表 | 採購表 |     |
| -------- |:----:|:----:|:--------------:|:--------------:|:------------:|:------------:|:------:| ------ | --- |
|          | 前端 | 後端 |      前端      |      後端      |     前端     |     後端     |  前端  | 後端   |     |
| 頁面模板 |  Ｏ  |  Ｘ  |       Ｏ       |       Ｘ       |      Ｏ      |      Ｘ      |    Ｏ    | Ｘ     |     |
| C        |  Ｘ  |  Ｘ  |       Ｏ       |       Ｏ       |      Ｏ      |      Ｏ      |       |       |     |
| R        |  Ｘ  |  Ｘ  |       Ｏ       |       Ｏ       |      Ｏ      |      Ｏ      |   Ｏ     |  Ｏ      |     |
| U        |  Ｘ  |  Ｘ  |       Ｏ       |       Ｏ       |      Ｏ      |      Ｏ      |   Ｏ   | Ｏ      |     |
| D        |  Ｘ  |  Ｘ  |       Ｏ       |       Ｏ       |      Ｏ      |      Ｏ      |   Ｏ     |  Ｏ      |     |
| 分頁     |  Ｘ  |  Ｘ  |       Ｏ       |       Ｏ       |      Ｏ      |      Ｏ      |    Ｏ    |   Ｏ      |     |
| 欄位排序 |  Ｘ  |  Ｘ  | 過期日排序完成 | 過期日排序完成 | 編號排序完成 | 編號排序完成 | 採購日排序完成       | 採購日排序完成       |     |
| 資料匯出 |  Ｘ  |  Ｘ  |    ==˙==    |       Ｏ       |   ==˙==   |      Ｏ      |  ==˙==      |  Ｏ      |     |
| 導覽列   |  Ｏ  |  Ｘ  |       Ｏ       |       Ｘ       |      Ｏ      |      Ｘ      |   Ｏ     | Ｘ     |     |
| 網頁阻擋 |  Ｏ  |  Ｏ  |       Ｏ       |       Ｏ       |      Ｏ      |      Ｏ      |  Ｏ      |   Ｏ     |     |
|          |      |      |                |                |              |              |        |        |     |

## 2. 頁面個別功能

### 2.1 登入
X
### 2.2 食物庫存表
- [x] 顯示食物營養資訊
- [ ] ==已過期通知== 7/21
    - [ ] 前端
    - [x] 後端

### 2.3 營養資訊表
- [ ] 收藏功能
- [ ] 採購功能
### 2.4 預計採購清單表
- [ ] 已購買功能
- [x] 資料庫設計
### 2.5 others
- [ ] 新增視窗的名稱remote 
- [ ] 代碼重構
    - [x] 整合 7/13
    - [ ] 結構抽離 
    - [ ] 命名規範
    - [ ] API視覺化 Swagger
- [ ] 色調
    - [ ] 色票 7/22 
    - [ ] CSS修改 7/22 
- [ ] logo+標題 7/22 
- [ ] 結案報告


---
# 需求分析
## 1. 主題概述
### 1.1 作品名稱
 squirrel-factory是提供家用食物管理的系統
### 1.2 設計理念
> 提供一般家庭使用的簡易食物庫存表。家庭成員在市場採買前，可快速瀏覽家裡現有食物庫存以及快要到期的食物，加上快速檢視食物的營養資訊功能，為家裡的冰箱採購計畫以及當日餐桌提供更多的想法。
## 2. Pages
A. 登入
B. 食物庫存表
C. 食物營養資訊表
D. 預計採購清單表
E. 會員管理(有時間再做)
## 3. 功能
### 3.1 頁面相同功能	
#### 3.1.1 新增 (B、C、D)
新增視窗的食物名稱remote
#### 3.1.2 刪除 (B、C、D)
#### 3.1.3 編輯 (B、C)
#### 3.1.4 查詢 (B、C)
1. 名稱模糊搜尋
2. 類別分類下拉式選單
3. 日期區間
#### 3.1.5 頁數分頁(B、C、D)
#### 3.1.6 欄位排序(B、C、D)
#### 3.1.7 資料匯出(B、C、D)
#### 3.1.8 導覽列(A、B、C、D)

### 3.2 頁面個別功能

#### 3.2.1 登入
X
#### 3.2.2 食物庫存表
1. 顯示食物營養資訊：點擊食物名稱，出現營養資訊視窗
2. 已過期通知
    1. 開啟庫存頁面時，以視窗方式跳出
    2. 視窗下面會有[今日不再顯示]的勾勾選項
    3. 資料欄位顯示食物名稱、類別、到期日、數量
    4. JS.Timeout Polling

#### 3.2.3 營養資訊表
1. 收藏功能
    1. [收藏按鈕]放在收藏欄位，以♥(收藏)/♡(非收藏)呈現 
    3. 資料庫數據以1(收藏)/0(非收藏)紀錄
    4. 按下[收藏按鈕]後，已收藏的資料會排序在最上面
2. 採購功能
    1. [採購按鈕]放在收藏欄位，以+符號呈現
    2. 按下[採購按鈕]會在預計採購表的資料庫加入一欄對應資料
        - id、food_id、category
#### 3.2.4 預計採購清單表
1. 以表格方式呈現，欄位有食物名稱、類別、已購買按鈕
2. 按下[已購買按鈕]，會在此表刪除此列資料，並同時在食物倉庫表的頁面中加入一列對應資料
    - name、category、採購日null、到期日null、數量null
4. 資料庫設計：id(auto)、food_id
#### 3.2.5 others

