---
# System prepended metadata

title: image

---

# 雲原生

![image](https://hackmd.io/_uploads/SyG_I1hg0.png)
![image](https://hackmd.io/_uploads/BklnLknlR.png)

# p1(封面)
Team 3 - Meeting Center

紀軒宇 312551080
施育衡 312553004
陳沛圻 312553008
林煦 312553027
詹恆瑜 312605015
# p2

## Persona (x3):
- 新入職的人員
    - 年齡: 25y
    - 個性: 認真負責、較為被動
    - 痛點: 缺乏經驗與熟悉度,對於複雜或沒有明確指引的系統操作容易感到困惑
    - 需求: 需要簡潔明瞭的介面，可以讓我明確的完成一系列的操作 
    - 可能辦法:設計友善的錯誤提示,指引正確的操作方式
- 行政助理
    - 年齡: 30y
    - 個性: 效率高、組織能力強
    - 痛點: 工作範圍廣泛且繁忙，手頭的事情多到可能會漏掉會議的安排或重要的細節，在管理多個領導的行程時，容易發生衝突
    - 需求: 需要一個能夠集中管理會議細節的系統
    - 可能辦法: 開發會議管理系統，其中包括會議室預定、與會者確認、會議提醒等功能
- 遠端工作的主管
    - 年齡: 45y
    - 個性: 領導立強、重視團隊合作與溝通
    - 痛點: 在遠端環境中，難以即時監控團隊的工作進度與品質
    - 需求: 需要工具來追蹤團隊的工作進度，包括會議的內容與決策、重要資料需過目等
    - 可能辦法: 團隊成員能在同一平台上協作、安排會議，並實時更新工作進度與會議內容

## User Story:

- 身為會議預約者，希望系統可以主動通知所有會議參與者，以至於省略人工通知成本
    - 身為系統開發者，希望可以有定時任務觸發機制，已達成主動通知會議參與者
    - 身為系統開發者，希望可以在通知內容直接顯示會議資訊卡，以至於會議參與者可以直觀會議內容
- 身為會議預約者，希望可以在預約介面顯示每個會議室的人數或可否飲食等資訊，以至於快速篩選出適合的會議室
    - 身為系統開發者，希望系統可以紀錄每個會議室的基本資訊 (人數、設備、限制)，以至於後續可以直觀顯示每個會議室的資訊
- 身為會議參與者，希望可以根據會議內容更新資訊，以至於方便會議記錄
    - 身為會議紀錄者，希望可以有文字編輯區塊，以至於記錄會議議題跟結論
    - 身為系統開發者，希望每個會議設定會議記錄者角色，以至於避免多人編輯的問題
- 身為會議參與者，希望可以在會議結束後自動把會議紀錄通知給會議參與者，以至於節省人工同步會議結束後的內容
    - 身為系統開發者，希望可以把會議紀錄轉換成 pdf，以至於方便後續保存跟傳輸
    - 身為系統開發者，希望在會議結束之後通知會議記錄到各個會議參與者，以至於可以達成節省人工同步會議結束後的內容的目標
- 身為會議參與者，希望可以在會議資訊卡新增附檔，以至於方便會議參與者參考
    - 
<!-- 推薦 -->

- 身為剛入職的員工，希望可以有明確的指引，讓我在預約會議室時不會有任何疑慮


## Software Design
我們將我們所需的功能列舉後並統整出了七大功能模塊，並依其特性分成 Presentation, Service, Domain, Data Access 四大層，並輔以 Model 跟 Utility 兩個這四層都會共用的模塊，完成我們的軟體架構設計。

![image](https://hackmd.io/_uploads/rkOzDj8W0.png)


## System Design
我們的系統架構圖設計如下，由使用者與前端介面作互動，前端會與後端做 request 的傳送及回覆，資料儲存部分，我們會使用一個 SQL Database 存放結構化資料，Google Cloud Storage 存放非結構化資料，Redis 作為 User session 的快取，至於消息通知部分，我們會使用 Cloud Function，根據時間觸發當作消息的發起者，再透過 Kafka 當 Broker 傳送給使用者。
![image](https://hackmd.io/_uploads/HyqKGhIWR.png)

## 其他
![image](https://hackmd.io/_uploads/r1V6Bl2gC.png)

我們的軟體架構描述了許多 Web Backend 的內部架構