|
1 | | -# 每日计划与总结应用程序 |
| 1 | +# QuirkLog - 每日计划与总结应用程序 |
2 | 2 |
|
3 | | -一个使用Python和tkinter开发的每日计划与总结GUI应用程序,帮助您更好地管理时间和进行自我反思。 |
| 3 | +一个现代化的每日计划与总结应用程序,支持多平台运行,帮助您更好地管理时间、记录生活、进行自我反思和提升个人效率。 |
4 | 4 |
|
5 | | -## 功能特性 |
| 5 | +## 项目概述 |
6 | 6 |
|
7 | | -### 📅 今日计划 |
8 | | -- 添加每日计划事件 |
9 | | -- 设置重要等级(十分重要、重要、一般重要、不重要) |
10 | | -- 设置紧急程度(十分紧急、紧急、不紧急) |
11 | | -- 规划开始时间和计划时长 |
12 | | -- 标记计划完成状态 |
13 | | -- 删除不需要的计划 |
| 7 | +QuirkLog 是一个全功能的个人时间管理和生活记录工具,采用Web优先的设计理念,兼容桌面GUI模式,支持跨平台部署。应用程序提供直观的界面,丰富的功能模块,以及完善的数据管理系统。 |
14 | 8 |
|
15 | | -### 📝 今日总结反思 |
16 | | -- 查看计划完成情况统计 |
17 | | -- 记录未完成计划的原因 |
18 | | -- 情感反思记录 |
19 | | -- 个人成长改进点记录 |
20 | | -- 感恩记录 |
| 9 | +## 核心功能特性 |
21 | 10 |
|
22 | | -### 💾 数据管理 |
23 | | -- 自动保存计划数据到JSON文件 |
24 | | -- 支持数据持久化存储 |
25 | | -- 按日期保存总结数据 |
| 11 | +### 📅 计划管理 |
| 12 | +- **智能计划添加**: 支持事件描述、重要等级、紧急程度分类 |
| 13 | +- **时间规划**: 开始时间设定和计划时长管理 |
| 14 | +- **状态跟踪**: 实时标记计划完成状态 |
| 15 | +- **优先级管理**: 基于艾森豪威尔矩阵的重要紧急度分类 |
| 16 | +- **批量操作**: 支持计划的批量编辑和删除 |
26 | 17 |
|
27 | | -## 安装和运行 |
| 18 | +### 📝 反思总结 |
| 19 | +- **完成情况分析**: 自动统计计划完成率,生成可视化图表 |
| 20 | +- **个人成长记录**: 记录每日进步点和改进建议 |
| 21 | +- **感恩日记**: 记录感动和感恩的瞬间 |
| 22 | +- **每日思考**: 支持Markdown格式的深度思考记录 |
| 23 | +- **未完成原因分析**: 帮助识别时间管理中的问题 |
28 | 24 |
|
29 | | -### 系统要求 |
30 | | -- Python 3.x |
31 | | -- tkinter(GUI版本需要,通常随Python安装包含) |
| 25 | +### 🌐 多模式界面 |
| 26 | +- **Web版本**: 现代化浏览器界面,响应式设计,跨平台兼容 |
| 27 | +- **GUI版本**: 原生桌面应用,tkinter界面,系统集成度高 |
| 28 | +- **智能启动器**: 自动检测环境,选择最佳运行模式 |
32 | 29 |
|
33 | | -### 运行应用程序 |
| 30 | +### 💾 数据管理系统 |
| 31 | +- **多格式保存**: JSON格式数据存储,易于备份和迁移 |
| 32 | +- **自动保存**: 智能自动保存机制,防止数据丢失 |
| 33 | +- **历史记录**: 按日期组织的历史记录浏览 |
| 34 | +- **数据导出**: 支持PDF导出,便于分享和打印 |
| 35 | +- **自定义路径**: 用户可自定义数据保存位置 |
34 | 36 |
|
35 | | -**推荐方式(自动选择版本):** |
| 37 | +### ⚙️ 个性化设置 |
| 38 | +- **文件命名**: 多种命名格式选择,支持自定义模式 |
| 39 | +- **保存路径**: 灵活的文件保存位置设定 |
| 40 | +- **界面主题**: 现代化UI设计,良好的用户体验 |
| 41 | +- **自动保存**: 可配置的自动保存功能 |
| 42 | + |
| 43 | +## 技术架构 |
| 44 | + |
| 45 | +### 前端技术 |
| 46 | +- **HTML5**: 语义化标记,响应式布局 |
| 47 | +- **CSS3**: 现代化样式设计,动画效果,Flexbox/Grid布局 |
| 48 | +- **JavaScript (ES6+)**: 面向对象编程,模块化设计,异步处理 |
| 49 | + |
| 50 | +### 后端技术 |
| 51 | +- **Python 3.x**: 核心开发语言 |
| 52 | +- **HTTP Server**: 基于Python标准库的轻量级Web服务器 |
| 53 | +- **tkinter**: 跨平台GUI框架 |
| 54 | + |
| 55 | +### 数据管理 |
| 56 | +- **JSON**: 轻量级数据存储格式 |
| 57 | +- **XML**: 配置文件管理 |
| 58 | +- **文件系统**: 本地数据持久化 |
| 59 | + |
| 60 | +### 构建和部署 |
| 61 | +- **PyInstaller**: 打包为独立可执行文件 |
| 62 | +- **跨平台支持**: Windows、macOS、Linux |
| 63 | +- **自动化构建**: 一键打包脚本 |
| 64 | + |
| 65 | +## 系统要求 |
| 66 | + |
| 67 | +### 运行环境 |
| 68 | +- **Python**: 3.6 或更高版本 |
| 69 | +- **内存**: 最少 512MB RAM |
| 70 | +- **存储**: 最少 100MB 可用空间 |
| 71 | +- **网络**: 本地运行,无需网络连接 |
| 72 | + |
| 73 | +### 操作系统支持 |
| 74 | +- **Windows**: Windows 10 或更高版本 |
| 75 | +- **macOS**: macOS 10.14 或更高版本 |
| 76 | +- **Linux**: 主流发行版(Ubuntu 18.04+, CentOS 7+等) |
| 77 | + |
| 78 | +## 快速开始 |
| 79 | + |
| 80 | +### 方式一:运行源代码(推荐开发者) |
36 | 81 | ```bash |
| 82 | +# 1. 克隆项目 |
| 83 | +git clone https://github.com/CattleZ/QuirkLog.git |
| 84 | +cd QuirkLog |
| 85 | + |
| 86 | +# 2. 运行应用程序(自动检测最佳模式) |
37 | 87 | python launcher.py |
| 88 | + |
| 89 | +# 3. 手动选择运行模式 |
| 90 | +python launcher.py --web # Web版本 |
| 91 | +python launcher.py --gui # GUI版本 |
38 | 92 | ``` |
39 | 93 |
|
40 | | -**手动选择版本:** |
| 94 | +### 方式二:使用预编译版本 |
41 | 95 | ```bash |
42 | | -# Web版本(浏览器界面,推荐) |
43 | | -python web_server.py |
| 96 | +# 1. 下载对应平台的发布包 |
| 97 | +# 2. 解压文件 |
| 98 | +unzip QuirkLog-v1.0.0-*-*.zip |
| 99 | + |
| 100 | +# 3. 运行安装脚本 |
| 101 | +# Windows: install.bat |
| 102 | +# Mac/Linux: ./install.sh |
| 103 | + |
| 104 | +# 4. 启动应用程序 |
| 105 | +# 双击桌面快捷方式或可执行文件 |
| 106 | +``` |
| 107 | + |
| 108 | +### 方式三:一键自动构建 |
| 109 | +```bash |
| 110 | +# 构建可执行文件(适用于分发) |
| 111 | +python auto_build.py |
| 112 | +``` |
| 113 | + |
| 114 | +## 详细安装说明 |
| 115 | + |
| 116 | +### 开发环境设置 |
| 117 | +```bash |
| 118 | +# 1. 确保Python环境 |
| 119 | +python --version # 需要 3.6+ |
44 | 120 |
|
45 | | -# GUI版本(图形界面) |
46 | | -python daily_planner.py |
| 121 | +# 2. 安装依赖(如果有额外需求) |
| 122 | +pip install -r requirements.txt |
47 | 123 |
|
48 | | -# 使用启动器的命令行参数 |
49 | | -python launcher.py --web # Web版本(推荐) |
50 | | -python launcher.py --gui # 强制GUI版本 |
51 | | -python launcher.py --help # 显示帮助 |
| 124 | +# 3. 直接运行 |
| 125 | +python launcher.py |
52 | 126 | ``` |
53 | 127 |
|
54 | | -### 版本说明 |
55 | | -- **Web版本** (`web_server.py`): 提供现代化的浏览器界面,功能最完整,推荐使用 |
56 | | -- **GUI版本** (`daily_planner.py`): 提供图形界面,操作更直观 |
57 | | -- **启动器** (`launcher.py`): 自动检测环境并选择合适版本 |
| 128 | +### 生产环境部署 |
| 129 | + |
| 130 | +```bash |
| 131 | +# 1. 构建可执行文件 |
| 132 | +python auto_build.py |
58 | 133 |
|
59 | | -## 使用说明 |
| 134 | +# 2. 生成的文件将包含: |
| 135 | +# - QuirkLog 可执行文件 |
| 136 | +# - 安装脚本(install.bat / install.sh) |
| 137 | +# - 所有必需的资源文件 |
| 138 | +# - 使用说明文档 |
| 139 | +``` |
60 | 140 |
|
61 | | -1. **添加计划**:在"今日计划"标签页中填写计划信息并点击"添加计划" |
62 | | -2. **管理计划**:在计划列表中可以标记完成、删除计划或保存数据 |
63 | | -3. **查看总结**:在"今日总结反思"标签页中查看完成情况和进行反思记录 |
64 | | -4. **保存数据**:点击相应的保存按钮保存计划数据和总结内容 |
| 141 | +## 使用指南 |
65 | 142 |
|
66 | | -## 文件说明 |
| 143 | +### 基本操作流程 |
| 144 | +1. **启动应用**: 运行启动器或可执行文件 |
| 145 | +2. **制定计划**: 在"今日计划"标签页添加任务 |
| 146 | +3. **执行跟踪**: 在计划列表中标记完成状态 |
| 147 | +4. **反思总结**: 在"今日总结反思"标签页记录感悟 |
| 148 | +5. **数据保存**: 使用保存功能将数据持久化存储 |
| 149 | + |
| 150 | +### 高级功能使用 |
| 151 | +- **历史记录**: 通过侧边栏浏览历史记录 |
| 152 | +- **设置定制**: 通过设置面板个性化配置 |
| 153 | +- **数据导出**: 支持PDF格式导出,便于分享 |
| 154 | +- **批量操作**: 支持多项计划的批量管理 |
| 155 | + |
| 156 | +## 项目结构 |
| 157 | + |
| 158 | +### 核心文件 |
| 159 | +``` |
| 160 | +QuirkLog/ |
| 161 | +├── launcher.py # 智能启动器 |
| 162 | +├── web_server.py # Web服务器 |
| 163 | +├── daily_planner.py # GUI版本 |
| 164 | +├── index.html # Web前端页面 |
| 165 | +├── style.css # 样式文件 |
| 166 | +├── script.js # 前端逻辑 |
| 167 | +├── settings.xml # 配置文件 |
| 168 | +└── README.md # 项目说明 |
| 169 | +``` |
| 170 | + |
| 171 | +### 构建脚本 |
| 172 | +``` |
| 173 | +├── auto_build.py # 自动构建脚本 |
| 174 | +├── build_package.py # 打包工具 |
| 175 | +├── package.py # 简单打包脚本 |
| 176 | +└── smart_launcher.py # 智能启动器 |
| 177 | +``` |
67 | 178 |
|
68 | | -- `web_server.py` - Web服务器,提供浏览器界面版本 |
69 | | -- `index.html` - Web版本的主页面 |
70 | | -- `style.css` - Web版本的样式文件 |
71 | | -- `script.js` - Web版本的JavaScript功能文件 |
72 | | -- `launcher.py` - 启动器,自动选择合适版本运行 |
73 | | -- `daily_planner.py` - GUI版本主程序文件 |
74 | | -- `daily_data.json` - 计划数据存储文件(自动生成) |
75 | | -- `summary_YYYY-MM-DD.json` - 每日总结文件(按日期生成) |
76 | | -- `requirements.txt` - 依赖说明文件 |
| 179 | +### 配置文件 |
| 180 | +``` |
| 181 | +├── requirements.txt # 运行时依赖 |
| 182 | +├── requirements-build.txt # 构建时依赖 |
| 183 | +└── QuirkLog.spec # PyInstaller配置 |
| 184 | +``` |
| 185 | + |
| 186 | +## 数据管理 |
| 187 | + |
| 188 | +### 存储格式 |
| 189 | +- **计划数据**: JSON格式,包含计划详情、状态、时间信息 |
| 190 | +- **总结数据**: JSON格式,包含反思内容、感悟记录 |
| 191 | +- **设置数据**: XML格式,存储用户个性化配置 |
| 192 | + |
| 193 | +### 数据安全 |
| 194 | +- 本地存储,保护隐私安全 |
| 195 | +- 支持自定义备份路径 |
| 196 | +- 数据格式开放,易于迁移 |
| 197 | + |
| 198 | +### 备份建议 |
| 199 | +```bash |
| 200 | +# 备份用户数据目录 |
| 201 | +cp -r /path/to/save/directory /path/to/backup/location |
| 202 | + |
| 203 | +# 备份配置文件 |
| 204 | +cp settings.xml /path/to/backup/location |
| 205 | +``` |
| 206 | + |
| 207 | +## 开发指南 |
| 208 | + |
| 209 | +### 开发环境搭建 |
| 210 | +```bash |
| 211 | +# 1. 克隆项目 |
| 212 | +git clone https://github.com/CattleZ/QuirkLog.git |
| 213 | +cd QuirkLog |
| 214 | + |
| 215 | +# 2. 设置虚拟环境(推荐) |
| 216 | +python -m venv venv |
| 217 | +source venv/bin/activate # Linux/Mac |
| 218 | +# 或 venv\Scripts\activate # Windows |
| 219 | + |
| 220 | +# 3. 安装开发依赖 |
| 221 | +pip install -r requirements-build.txt |
| 222 | + |
| 223 | +# 4. 开始开发 |
| 224 | +python launcher.py --web |
| 225 | +``` |
| 226 | + |
| 227 | +### 代码规范 |
| 228 | +- 遵循 PEP 8 Python 代码规范 |
| 229 | +- 使用中文注释和适当的变量命名 |
| 230 | +- 保持代码简洁易读 |
| 231 | +- 优先使用现代Web技术和标准库 |
| 232 | + |
| 233 | +### 贡献方式 |
| 234 | +1. Fork 项目仓库 |
| 235 | +2. 创建特性分支:`git checkout -b feature/AmazingFeature` |
| 236 | +3. 提交更改:`git commit -m 'Add some AmazingFeature'` |
| 237 | +4. 推送分支:`git push origin feature/AmazingFeature` |
| 238 | +5. 创建 Pull Request |
| 239 | + |
| 240 | +## 版本说明 |
| 241 | + |
| 242 | +### 当前版本:v1.0.0 |
| 243 | +- ✅ 完整的计划管理功能 |
| 244 | +- ✅ 丰富的反思总结模块 |
| 245 | +- ✅ 现代化Web界面 |
| 246 | +- ✅ 跨平台GUI支持 |
| 247 | +- ✅ 自动化构建系统 |
| 248 | +- ✅ 多格式数据导出 |
| 249 | + |
| 250 | +### 开发计划 |
| 251 | +- [ ] 移动端适配和响应式优化 |
| 252 | +- [ ] 计划提醒和通知功能 |
| 253 | +- [ ] 数据统计和可视化图表 |
| 254 | +- [ ] 计划模板和快速录入 |
| 255 | +- [ ] 云端同步和多设备支持 |
| 256 | +- [ ] 插件系统和功能扩展 |
| 257 | +- [ ] 更多主题和界面个性化 |
| 258 | +- [ ] 团队协作和分享功能 |
| 259 | + |
| 260 | +## 技术特点 |
| 261 | + |
| 262 | +### 架构优势 |
| 263 | +- **渐进式增强**: Web优先,向下兼容 |
| 264 | +- **零依赖部署**: 基于Python标准库 |
| 265 | +- **模块化设计**: 清晰的功能分离 |
| 266 | +- **跨平台兼容**: 一次开发,多平台运行 |
| 267 | + |
| 268 | +### 性能特点 |
| 269 | +- **轻量级**: 占用资源少,启动速度快 |
| 270 | +- **响应式**: 流畅的用户交互体验 |
| 271 | +- **离线优先**: 本地数据,无需网络依赖 |
| 272 | +- **可扩展**: 易于添加新功能和模块 |
| 273 | + |
| 274 | +## 故障排除 |
| 275 | + |
| 276 | +### 常见问题 |
| 277 | +**Q: 启动失败,提示找不到模块** |
| 278 | +```bash |
| 279 | +# 确保使用正确的Python版本 |
| 280 | +python --version |
| 281 | +# 检查当前目录是否正确 |
| 282 | +pwd |
| 283 | +# 重新运行启动器 |
| 284 | +python launcher.py |
| 285 | +``` |
| 286 | + |
| 287 | +**Q: GUI版本无法启动** |
| 288 | +```bash |
| 289 | +# 强制使用Web版本 |
| 290 | +python launcher.py --web |
| 291 | +# 或直接启动Web服务器 |
| 292 | +python web_server.py |
| 293 | +``` |
77 | 294 |
|
78 | | -## 界面预览 |
| 295 | +**Q: 数据保存失败** |
| 296 | +- 检查保存路径是否存在且可写 |
| 297 | +- 确认磁盘空间充足 |
| 298 | +- 查看设置面板中的保存路径配置 |
79 | 299 |
|
80 | | -应用程序包含三个版本: |
81 | | -- **Web版本**:现代化的浏览器界面,支持响应式设计,在 http://localhost:8000 访问 |
82 | | -- **GUI版本**:传统的桌面应用程序界面 |
83 | | -- **启动器**:智能选择最适合当前环境的版本 |
| 300 | +### 技术支持 |
| 301 | +- **问题反馈**: 通过GitHub Issues报告问题 |
| 302 | +- **功能建议**: 通过Discussions讨论新功能 |
| 303 | +- **文档问题**: 通过Pull Request改进文档 |
84 | 304 |
|
85 | | -## 技术实现 |
| 305 | +## 许可证与致谢 |
86 | 306 |
|
87 | | -- **GUI框架**:tkinter + ttk |
88 | | -- **数据存储**:JSON格式文件 |
89 | | -- **界面布局**:网格布局管理器 |
90 | | -- **数据结构**:Python字典和列表 |
| 307 | +### 开源许可 |
| 308 | +本项目采用 MIT 许可证,详见 [LICENSE](LICENSE) 文件。 |
91 | 309 |
|
92 | | -## 开发计划 |
| 310 | +### 技术致谢 |
| 311 | +- Python软件基金会提供的Python语言支持 |
| 312 | +- tkinter GUI工具包 |
| 313 | +- 现代Web标准技术栈 |
| 314 | +- PyInstaller打包工具 |
93 | 315 |
|
94 | | -- [ ] 添加计划提醒功能 |
95 | | -- [ ] 支持计划模板 |
96 | | -- [ ] 添加数据导出功能 |
97 | | -- [ ] 改进界面美观度 |
98 | | -- [ ] 添加统计图表功能 |
| 316 | +### 贡献者 |
| 317 | +感谢所有为项目贡献代码、文档和建议的开发者。 |
99 | 318 |
|
100 | | -## 许可证 |
| 319 | +--- |
101 | 320 |
|
102 | | -此项目仅供学习和个人使用。 |
| 321 | +**QuirkLog** - 让每一天都有记录,让每一次反思都有价值 ✨ |
0 commit comments