- 此項目雖然看起來簡單,實際上,修改成自己喜歡的樣子,也是費時間的。
- 別人都搞AI 相關的項目,而我還是搞這種基礎的東西。不要灰心。
- 積累。不論項目大小,不論難易,只看是否有用。
項目地址: https://github.com/buxuele/flask_todo_app
項目概述
這是一個基于 Flask 框架開發的現代化 Todo 應用,專為個人任務管理而設計。應用采用簡潔的界面設計和直觀的操作方式,幫助用戶高效管理日常任務。
核心功能
📅 按日期管理任務
- 日期導航:左側邊欄顯示過去 7 天的日期,方便快速切換查看不同日期的任務
- 智能顯示:自動識別"今天"、“昨天”、"明天"等相對日期
- 歷史記錄:保留歷史任務記錄,便于回顧和跟蹤
? 完整的任務操作
- 添加任務:快速添加新任務到當前選中日期
- 完成標記:雙擊任務內容即可標記完成/未完成狀態
- 在線編輯:雙擊任務可直接編輯內容,支持實時保存
- 刪除任務:一鍵刪除不需要的任務
- 時間記錄:自動記錄任務創建時間和完成時間
📄 導出功能
- Markdown 導出:將指定日期的任務導出為格式化的 Markdown 文件
- 分類整理:導出文件自動將任務分為"待完成"和"已完成"兩個部分
- 統計信息:包含任務總數和完成情況統計
🎨 用戶體驗
- 響應式設計:支持桌面和移動設備訪問
- 可折疊側邊欄:節省屏幕空間,專注任務管理
- 美觀界面:采用暖色調設計,使用自定義字體,提供舒適的視覺體驗
- 快捷操作:支持鍵盤快捷鍵,提高操作效率
技術架構
后端技術棧
- Flask:輕量級 Web 框架,提供 RESTful API
- SQLAlchemy:數據庫 ORM,管理任務數據
- SQLite:輕量級數據庫,存儲在
instance/todos.db
前端技術棧
- 原生 JavaScript:無框架依賴,純凈高效
- Bootstrap 5:響應式 UI 組件庫
- 自定義 CSS:個性化界面設計
項目結構
flask_todo_app/
├── app.py # Flask 應用主文件
├── routes.py # API 路由定義
├── models.py # 數據模型
├── config.py # 配置文件
├── templates/ # HTML 模板
│ └── index.html # 主頁面
├── static/ # 靜態資源
├── instance/ # 數據庫文件
├── docs/ # 導出的 Markdown 文件
└── requirements.txt # 依賴包列表
快速開始
環境要求
- Python 3.7+
- pip 包管理器
安裝步驟
-
克隆項目
git clone [項目地址] cd flask_todo_app
-
安裝依賴
pip install -r requirements.txt
-
初始化數據庫
python init_db.py
-
啟動應用
python app.py
或者直接運行批處理文件:
run_flask_todo.bat
-
訪問應用
打開瀏覽器訪問http://localhost:5990
API 接口
應用提供完整的 RESTful API,支持:
GET /api/todos
- 獲取任務列表POST /api/todos
- 創建新任務PUT /api/todos/<id>
- 更新任務DELETE /api/todos/<id>
- 刪除任務GET /api/todos/export/<date>
- 導出指定日期任務
使用場景
個人任務管理
- 日常工作任務規劃
- 學習計劃制定
- 生活事務提醒
團隊協作
- 項目進度跟蹤
- 會議任務分配
- 工作匯報整理
習慣養成
- 每日目標設定
- 習慣打卡記錄
- 進度可視化
特色亮點
- 輕量級部署:無需復雜配置,開箱即用
- 數據持久化:本地 SQLite 數據庫,數據安全可靠
- 導出功能:支持 Markdown 格式導出,便于分享和存檔
- 時間追蹤:自動記錄任務時間線,便于效率分析
- 界面友好:簡潔美觀的設計,專注用戶體驗
擴展可能
- 支持任務分類和標簽
- 添加任務優先級設置
- 集成日歷視圖
- 支持團隊協作功能
- 移動端 App 開發
- 云端數據同步
總結
這個 Flask Todo 應用雖然功能簡潔,但涵蓋了任務管理的核心需求。它不僅是一個實用的工具,也是學習 Flask 全棧開發的優秀示例。無論是個人使用還是作為學習項目,都具有很好的實用價值。
項目代碼結構清晰,易于理解和擴展,是 Web 開發初學者和有經驗開發者的理想選擇。