# 雲原生 ![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 的內部架構