自主概念作品
Switchboard
讓小型團隊把不同來源的請求放進同一個共用佇列。
構想
看得到請求,不代表已經有人負責。工作從不同對話進來後,負責人、現況和歷程很容易離開原始請求。Switchboard 是自行發起的概念作品,嘗試把這些資訊留在同一個共用佇列。
每筆請求都有描述、負責角色和明確狀態。目的是讓下一步看得懂,不是把日常協作變成繁瑣的專案管理。這個示範不是已連線的工作空間,也不是客戶的工作紀錄。
狀態路徑
- 請求以「已收到」狀態進入共用佇列。
- 有人接手後,狀態轉為「已指派」。
- 工作開始後進入「處理中」,完成後即可結案。
- 受外部相依條件阻礙時,藍綠分支記為「受阻」。恢復後回到處理中。
- 深色稽核軌另行記錄每一次狀態事件,不與目前狀態混為一談。
設計決策
先定義各狀態的轉換方式。
收到、指派、處理、受阻和結案分別處理。每次轉換都有可執行的角色與必填原因。
由伺服器檢查權限。
介面可以依角色顯示按鈕,但 API 每次收到請求仍要自己檢查。
事件與目前狀態均須保留。
一次更新同時儲存請求變更和稽核事件。歷程能持續追加,才看得出怎麼走到目前狀態。
即時更新僅為便利功能。
重新連線後,仍要和伺服器狀態核對。不能因漏掉一則通知,讓畫面看似正確卻早已過期。
可做的事
連結的示範把佇列儲存在裝置上。您可用角色切換器查看權限、走過狀態流程、保留不可覆寫的稽核軌跡,也可匯出完整歷程。應用介面是英文。
尚未建置跨裝置分享、伺服器、帳號、驗證、線上狀態、即時更新或同步。所有請求和事件都留在執行該應用的裝置上。
技術組合
規劃上,網頁介面和 API 採用 TypeScript,請求與稽核事件用 PostgreSQL,更新通知用 server-sent events。驗證、工作空間隔離和重新連線行為,都還在設計與實作階段。
狀態
製作中。Switchboard 是自主概念作品,不是客戶委託,也不是已發表的共用應用程式。本機示範已完成,但尚未建置伺服器或同步能力。