Sheltie
Sheltie 是個 markdown 線上協同編輯的工具, 依循固定格式編寫專案進展, 自動整理成投影片, 提供線上投影片播放和匯出 pptx 的功能.
需求規格處理
專案 Markdown 文件格式
各個專案之間用 --- 分行, 每個專案格式如下:
# 專案名稱
## 基本資訊
- 燈號: 綠 | 黃 | 紅
- 狀態: 提案準備中 | 需求訪談 | 開發中 | SIT | QAS | REG | PROD
- 進度: 50%
- 窗口: Andy
- 時程:
- 開發: 2025-12-20 ~ 2025-12-25
- SIT: 2025-12-26 ~ 2025-12-27
- QAS: 2025-12-28 ~ 2025-12-29
- REG: 2025-12-30 ~ 2025-12-31
- PROD: 2026-01-01 ~ 2026-01-02
- 相關單位:
- 主辦:
- 協辦/協同:
- 分類:
## 會辦狀況 (日期反序)
- 2025-12-20
- _待追蹤_ 需要確認規格文件
- 完成初步設計評審
- 2025-12-15
- _預計_ 下週開始開發
- 正在進行需求訪談
- 2025-10-01
- 這是一個月前的舊記錄
- 應該顯示為灰色
## 其他補充
- AAA
- BBB
- ...
轉換成投影片
- 自動排序專案,排序方式為:
- 燈號: 紅 > 黃 > 綠
- 分類: 按照分類排序
- 上線日期: 由近到遠
- 投影片前面幾頁為自動生成專案的彙整資訊表格
- 每頁 10 個專案
- 排序方式同上
- 表格欄位為:
- 燈號
- 專案名稱
- 目前狀態
- 進度
- 窗口
- 專案投影片
- 每個專案一個投影片為主, 超過一個投影片時, 自動分成兩個投影片
- 基本資訊用表格方式放在投影片上半部 (1/3), 下半部為專案的其他補充 (2/3)
- 表格配置請幫我設計, 欄位請按照需求規格
- 其他補充資訊版面請幫我設計, 但另有其他規格如下:
- 標示預計的會辦項目文字為藍色/斜體
- 標示待追蹤的會辦項目文字為紅色/粗體
- 一個月前的會辦資訊字體顏色為灰色
前端需求
- 以 Vue.js 為主
- Markdown 編輯器提供
- 純文字+Syntex highlight 模式
- WYSIWYG 模式
- 可線上多人協同編輯
- 線上投影片播放時, 會自動依規格格式轉換成投影片
- 匯出盡量用 pptx 原生元件生成, 不要生成圖片後嵌入, 版面請遵循上述需求幫我設計, 商務、洗煉
後端需求
- 以 goland 為主
- 本地端 sqlite 資料庫
- API 設計請幫我設計
部署需求
- 以 docker 為主, 前後端打包在同一個 docker image
- 部署環境請幫我設計
釐清需求
📋 Sheltie 專案需求分析 我已經閱讀了 idea.md 的需求,以及參考了 border-collie 專案的 UI 設計。以下是需要進一步釐清的項目: 🔍 需進一步釐清的問題
- 協同編輯技術選型 您偏好使用哪種協同編輯方案?
- OT (Operational Transformation) - 如 ShareDB
- CRDT - 如 Yjs 或 Automerge
- WebSocket 簡易同步 - 適合小型團隊 這會影響後端架構和複雜度
-
後端語言確認 idea.md 中提到「以 goland 為主」,確認是指 Go (Golang) 語言?
-
認證與權限
- 是否需要使用者登入/認證功能?
- 專案文件是否需要權限控制(如:只有特定人可編輯)?
- 或是開放式協作,只要有連結就能編輯?
- 投影片樣式設計
- 匯出 PPTX 時的模板/配色是否需要特定企業風格?
- 「商務、洗煉」風格是否有參考範例?
- 投影片是否需要公司 Logo 或固定版頭?
- WYSIWYG 編輯器選型
- 您偏好哪種 Markdown WYSIWYG 編輯器?
- Milkdown - 現代化、可擴展
- Tiptap - Vue 生態圈常用
- Editor.js - Block-based
- 其他偏好?
- 專案資料範圍
- 每個「工作區」會包含多少專案(約略數量)?
- 會辦紀錄通常會累積多長時間(用於評估資料量)?
- 部署環境
- 目標部署環境是什麼?(內網伺服器、雲端、Docker Compose、K8s 等)
- 是否需要支援 HTTPS/SSL?
- 預期同時線上協作的人數上限?
- 分享機制
- 是否需要類似 border-collie 的 URL 連結分享功能(壓縮資料於 URL 中)?
- 或是採用伺服器儲存 + 分享連結 ID 的方式?
- WebSocket 簡易同步
- Go (Golang) 語言
- 後續的迭代再設計登入驗證, 目前僅需開放式協作,只要有連結就能編輯, 請設計分享按鈕
- 後續的迭代會提供公司樣板, 目前請先以白底的投影片設計
- 由你決定
- 一個工作區約 30 個專案, 會辦紀錄平均九個月, 約兩週一更新
- Docker Compose, 上限先抓 30 個工作區
- 伺服器儲存 + 分享連結 ID, 資料有異動每分鐘自動儲存
- 請另設計簡易管理界面, 用於管理工作區, 包含新增、刪除、修改工作區名稱的功能. 需有密碼保護