Cursor實踐專案-04-輕量級會議管理工具(1)
專案說明
cursor專案實踐-04
耗費時間:10小時左右
Cursor使用次數:專案複雜模組太多,必須要分模組,一階段花費80左右。
這是一個旨在簡化會議組織的極簡會議系統。它專為追求高效、無繁瑣流程的用戶而設計,核心優勢在於無需註冊登入,即開即用。
輕量化架構,靈活易部署: 徹底拋棄傳統數據庫,創新性地利用 Seafile 作為文件儲存後端。所有會議數據(包括內容、與會者、測試成績等)都以文件形式保存,使系統架構極致輕便,部署和管理都非常簡單。
無障礙與會體驗: 通過唯一的會議連結和密碼即可訪問,無需任何帳號。系統支援QR碼快速簽到,且與會者能在會前會後隨時發表意見,打破了時間和空間的限制,確保溝通的持續性。
一站式功能整合: 系統不僅提供基礎的會議管理,還內建了強大的線上測試功能。會議發起者可輕鬆導入試題,與會者線上答題,系統自動記錄並統計成績。這使得專案能夠輕鬆擴展至培訓、研討會等需要評估學習效果的場景。
階段成果展示(1)
-
一階段實現功能
-
基礎框架搭建
-
實現本地seafile的對接
-
實現會議的創建
-
網頁查詢會議列表、詳情信息
-
-
二階段(待進行)功能
- 實現會議的簽到
- 實現會議的意見發表
- 實現會議的紀要生成
- 會議測試評分功能
前置準備
-
Cursor
- 版本:1.2.4
- cursor rules : Cursor Rules
- agent: claude-4-sonnet-thinking
-
整體流程
- 設置cursor規則->描述需求->cursor編碼->git版本管理->調試輸出
技術架構
- 技術棧
- 後端:Python 語言,搭配 Flask 或 FastAPI 等輕量級框架。
- 前端:可使用現代前端框架(如 React, Vue)或原生 JS。
- 數據儲存:使用 Seafile 的文件管理功能作為後端儲存,取代傳統數據庫。
- 數據流與儲存方式
-
會議數據:所有會議數據以文件形式儲存在 Seafile 的指定目錄下。
-
文件結構:每個會議對應一個唯一的文件夾,文件夾內包含:
- meeting_data.json:儲存會議主題、時間、密碼哈希、簽到人員(含成績)、意見和附件列表等核心信息。
- quiz.json:儲存會議相關的試題和答案。
- meeting_minutes.md:儲存自動生成的會議紀要。
- attachments/:一個專門用於儲存會議附件的子文件夾。
-
後端服務:後端充當 Seafile 和前端之間的中間層。所有請求(如創建、查詢、提交)都由後端處理,後端通過 Seafile 的 API 或命令行工具對文件進行讀寫操作。
-
訪問控制:所有對會議詳情的訪問都需要後端進行密碼驗證。會議列表等公開信息則無需密碼。
-
問題記錄
-
問題1:專案過於複雜,步驟太多,導致編碼效率低下。模組之間無法銜接。先做界面,然後才調試seafile連接。
- 解決方式:分成多個模組,每個模組單獨開發,然後進行整合。
-
問題2:seafile對接問題總結
- 主要問題:
- 文件上傳格式錯誤 - 預設httpx客戶端設置了Content-Type: application/json導致multipart上傳失敗
- 文件讀取返回連結而非內容 - API返回下載連結需要二次請求獲取實際文件內容
- 根目錄權限限制 - 部分根目錄操作返回401但不影響子目錄功能
- 解決方式:
- 修復上傳 - 移除httpx客戶端預設headers,讓multipart請求自動設置正確Content-Type
- 修復讀取 - read_file方法改為先獲取下載連結再下載實際文件內容
- 權限處理 - 添加錯誤捕獲和回退機制,確保核心功能不受影響
- 主要問題:
-
seafile版本的問題,由於是其他人安裝的seafile,版本號也未知,調試過程出了很多問題。
- 解決方式:通過cursor對話,讓他去查詢seafile的版本號,然後進行調試。
-
還是seafile,創建會議文件夾時,會多創建一個上級文件夾,怎麼都搞不定。
- 解決方式:浪費了30多次次數後,增加了刪除上一級多餘目錄的功能。
使用心得
-
複雜專案,一定要分模組開發,而不是讓cursor一次性完成所有功能。
-
一個問題模型如果一直搞不定,可以嘗試換一個模型或者新開啟一個對話。
專案詳細步驟
- 與LLM溝通需求,使用google gemini 2.5flash模型,得到詳細的需求文檔
我想做一個輕量化的會議管理系統,用戶免登入。可以發起會議,通過連結的方式的將會議的時間和內容分享出去。同時會議支援簽到(QR碼),意見發表,會議紀要格式自動生成等功能。
請幫我設計一下架構。後端我想盡可能輕便,不用數據庫(本地有安裝一個seafile,是否可以使用?)。
->得到詳細的需求文檔,pj-requirement.md


- 在cursor中,要求查詢需求文檔,進行開發
Review the requirements documentation and proceed with system design.
查看需求文檔,進行系統設計


-
完整了環境搭建和腳手架的安裝。
-
卡在seafile的對接上,一直在調試。來回拉扯中...
-
還在拉扯,重複創建目錄,用了個遞歸的方法,cursor怎麼都找不到原因,痛苦!!
-
一階段完成

- 有些崩潰.... 明天再繼續優化。 詳見 《Cursor實踐專案-04-輕量級會議管理工具(2)》