Day 07 整理完 VoCare 的資料要怎麼存之後,下一個問題就是:
前端要怎麼把資料送到後端,後端又要怎麼把處理結果送回來?
目前 VoCare 的前後端流程可以先整理成:
前端送出請求
→ API 接收資料
→ 後端執行處理邏輯
→ 讀取或寫入資料庫
→ 執行 AI / 分析功能
→ API 回傳結果
→ 前端更新畫面
在 VoCare 裡,前端主要負責和使用者互動,例如長者輸入文字、使用語音、填寫問卷,或家屬查看近期摘要。這些操作本身不會直接碰資料庫,而是透過 API 把資料交給後端處理。
例如長者送出一段訊息後,前端會把訊息送到聊天 API。後端收到資料後,會先確認是哪一位使用者,再讀取對應的 Memory 和近期 Context,接著把目前訊息與相關背景一起交給 AI 產生回應。
AI 回覆完成後,後端會把這次對話存進資料庫,同時進行後續處理,例如萃取新的 Memory,或判斷這段聊天裡有沒有需要建立新的 Status Event。最後再透過 API 把 AI 回覆送回前端,顯示給長者。
所以一個聊天 API 實際上可能會經過:
接收訊息
→ 取得 Memory / Context
→ 呼叫 AI
→ 儲存 Conversation / Message
→ 萃取 Memory / Status Event
→ 回傳 AI 回覆
問卷也是類似的流程。
長者送出答案後,前端會呼叫問卷 API,後端把回答保存成 Questionnaire Response。如果這一題屬於睡眠、心情或活動等需要追蹤的類型,也可以同步產生對應的 Status Event,提供後面的趨勢分析使用。
家屬端則主要以「讀取資料」為主。
例如家屬打開首頁時,前端可以呼叫摘要 API,後端再從 Trend Analysis、Status Event 和近期互動紀錄中整理結果,最後回傳:
所以目前可能會需要幾個基本 API:
POST /chat
送出長者訊息並取得 AI 回覆。
POST /questionnaire/response
送出問卷答案並保存結果。
POST /observation
保存鏡頭產生的觀察事件。
GET /memory
取得長者目前的 Memory。
GET /family/summary
取得家屬端近期摘要。
GET /trend?range=7d
取得指定時間範圍的趨勢資料。
這樣做的好處是,前端不需要知道資料庫怎麼設計,也不需要知道 AI 背後怎麼處理 Memory 或趨勢。
前端只需要知道:
我要送什麼資料,以及會拿回什麼結果。
而後端則負責把真正的資料處理、AI 邏輯和資料庫操作集中起來。
所以目前 VoCare 可以先理解成三層:
前端:負責互動與畫面
→ API / 後端:負責處理邏輯
→ 資料庫與 AI:負責資料與運算
這樣前端、後端、AI 和資料庫之間的責任就會比較清楚。
簡單來說,Day 08 真正要確定的是:
資料怎麼從畫面進到系統,又怎麼從系統重新回到畫面。
這也是後面真正開始實作聊天、問卷與家屬端功能之前,需要先整理清楚的一層。