自主概念作品

Switchboard

讓小型團隊把不同來源的請求放進同一個共用佇列。

網頁 App・內部工具製作中開啟本機示範(英文介面)全部作品

構想

看得到請求,不代表已經有人負責。工作從不同對話進來後,負責人、現況和歷程很容易離開原始請求。Switchboard 是自行發起的概念作品,嘗試把這些資訊留在同一個共用佇列。

每筆請求都有描述、負責角色和明確狀態。目的是讓下一步看得懂,不是把日常協作變成繁瑣的專案管理。這個示範不是已連線的工作空間,也不是客戶的工作紀錄。

狀態路徑

Switchboard 請求狀態機請求沿金色路徑從「已收到」依序進入「已指派」、「處理中」和「結案」。「受阻」的藍綠分支可回到「處理中」。下方的墨色稽核軌跡另外記錄每一次狀態變更。已收到已指派處理中受阻待補資訊恢復結案稽核軌跡 Switchboard 請求狀態機請求狀態機的直向版本。藍綠色的受阻分支可返回處理中,下方的稽核軌跡記錄每一次事件。 已收到 已指派 處理中 結案 受阻待補資訊恢復 稽核軌跡 狀態事件已記錄 歷程持續可讀
  1. 請求以「已收到」狀態進入共用佇列。
  2. 有人接手後,狀態轉為「已指派」。
  3. 工作開始後進入「處理中」,完成後即可結案。
  4. 受外部相依條件阻礙時,藍綠分支記為「受阻」。恢復後回到處理中。
  5. 深色稽核軌另行記錄每一次狀態事件,不與目前狀態混為一談。

設計決策

  • 先定義各狀態的轉換方式。

    收到、指派、處理、受阻和結案分別處理。每次轉換都有可執行的角色與必填原因。

  • 由伺服器檢查權限。

    介面可以依角色顯示按鈕,但 API 每次收到請求仍要自己檢查。

  • 事件與目前狀態均須保留。

    一次更新同時儲存請求變更和稽核事件。歷程能持續追加,才看得出怎麼走到目前狀態。

  • 即時更新僅為便利功能。

    重新連線後,仍要和伺服器狀態核對。不能因漏掉一則通知,讓畫面看似正確卻早已過期。

可做的事

連結的示範把佇列儲存在裝置上。您可用角色切換器查看權限、走過狀態流程、保留不可覆寫的稽核軌跡,也可匯出完整歷程。應用介面是英文。

尚未建置跨裝置分享、伺服器、帳號、驗證、線上狀態、即時更新或同步。所有請求和事件都留在執行該應用的裝置上。

技術組合

規劃上,網頁介面和 API 採用 TypeScript,請求與稽核事件用 PostgreSQL,更新通知用 server-sent events。驗證、工作空間隔離和重新連線行為,都還在設計與實作階段。

狀態

製作中。Switchboard 是自主概念作品,不是客戶委託,也不是已發表的共用應用程式。本機示範已完成,但尚未建置伺服器或同步能力。