Try   HackMD

雲端人員維護系統

目標

  • 熟悉雲端環境:使用 Google Cloud,熟悉 Cloud Run、Cloud SQL、Cloud Storage、Pub/Sub 等元件。
  • 強化後端開發能力:使用 Java Spring Boot,學習 RESTful API 設計與實作。
  • 掌握檔案處理技術:包括 照片上傳、壓縮、格式驗證,學習如何運用雲端服務處理文件。
  • 理解非同步處理概念:使用 Pub/Sub 進行非同步任務處理,如圖片壓縮等。

功能設計

1. 基本 CRUD 功能

  • 員工管理
    • 新增:輸入員工的基本資料,如 員工編號、身分證號、電子郵件 等。
    • 查詢:根據 員工名稱、編號或身分證號 來查找員工資料。
    • 更新:修改員工資料,確保資料一致性。
    • 刪除:刪除員工資料,需確認操作後才能執行。

☑ 驗收標準:

  • API 可接受 JSON 輸入並正確寫入 Cloud SQL。
  • 所有 CRUD 操作皆須有 API 測試案例(可用 Postman 或 JUnit)。

💡 雲端元件:

  • Cloud Run:部署 API 服務
  • Cloud SQL:存放員工資料

2. 檔案上傳與處理

  • 允許員工上傳照片

    • 限定格式 (JPG, PNG, PDF),並進行格式驗證。
    • 檔案大小不可超過 2MB。
  • 照片壓縮

    • 上傳後自動壓縮圖片,減少存儲空間佔用。
    • 使用非同步方式處理壓縮(Pub/Sub)。
  • 提供下載連結

    • 員工可透過 API 取得下載連結,連結有效時間 24 小時。

☑ 驗收標準:

  • 照片成功上傳並存入 Cloud Storage。
  • 壓縮後的圖片大小不超過 500KB。
  • 下載 API 連結可正確存取且具有限時效性。

💡 雲端元件:

  • Cloud Storage:存放圖片
  • Pub/Sub:圖片壓縮非同步處理

注意事項

1.前端要求隨意,可以Demo即可,使用者可以透過前端登入系統後做對應操作
2.過程需加入KMS、Secret Manager 及 IAM 來加強 憑證管理、敏感數據保護與身份存取控制。

進階功能 (選作)

  • 權限管理

    • 管理員 可新增、刪除、修改所有員工資料。
    • 一般使用者 只能查詢自己的員工資料。
  • 系統日誌

    • 記錄所有 API 操作(新增、查詢、更新、刪除),存放於 Cloud Logging。

☑ 驗收標準:

  • 透過 Token 驗證身份,確保 API 權限符合需求。
  • 查詢 Cloud Logging 可見 API 存取紀錄。