本學期的 Full Stack Intro. 已經結束一半的課程,想必大家都已經學會用 FastAPI 實作 API Endpoints、撰寫 tests、與 DB 互動等。Final Project 大家將應用課程內容,在課程實作的網站基礎上新增功能並完善內容,實際展現自己的學習成果。

接下來的課程將繼續帶大家完成專案的大部分內容,大家可以根據 SPEC 的要求在接下來的幾週內逐步完成需要大家額外實作的部分。

Requirements


方案一:雲端筆記本

  1. 完成所有 API Endpoints
    1. 目前 notes 已經在 Lecture 4 實作
    2. users 會在 Lecture 7 帶大家實作
  2. 課程中實作的內容
  3. Service 邏輯與 schema 驗證至少新增各一個測試
    1. 例如:更新同時改 title + content、NoteRead 的 note_date 型別錯誤
  4. 新增至少一個額外功能。可實做的額外功能包含(但不限於):
    1. 以關鍵字搜尋筆記(可以用 Query Parameters 傳入搜尋的關鍵字)
    2. notes 新增額外的欄位,並實作其對應的功能
      1. is_archived
      2. is_pinned
      3. emotion

方案二:自行提出 Proposal

  1. 與 database 串接
  2. 定義至少兩種資源
  3. 實現對資源的 CRUD 四種操作,且資源之間至少存在一個 relation
  4. Service 邏輯與 schema 驗證至少各一個測試
  5. 必須要有前端使用者介面
    1. WebUI、GUI
    2. 必須能透過使用者介面和 backend server 互動
    3. 介面的美觀不影響,但功能必須正常運作

Scoring Breakdown