基于 PHP 的 AJAX 风格待办清单,符合 GTD,支持 SQLite/MySQL
PHP 与 jQuery 实现 AJAX 无刷新交互,数据层可在轻量 SQLite 与 MySQL 之间选择,兼顾简单与可扩展
✓ 部署简单依赖少✓ 数据库可灵活选择
方案简介
myTinyTodo 是一款 GPL-2.0 许可的自托管待办清单工具,方案特点是把 PHP 后端、jQuery 前端与 SQLite/MySQL 数据库组合起来,实现 AJAX 风格的无刷新任务管理界面。它明确符合 GTD(Getting Things Done)方法论,适合想在自己服务器上以极低成本搭建个人待办系统的用户:只需 PHP 运行环境和一个数据库(轻量场景用 SQLite,多用户/大数据量场景用 MySQL),即可获得响应流畅的清单管理体验。
亮点与能力
- AJAX 风格操作,无需刷新页面即可管理待办
- 符合 GTD 方法论
- 支持 SQLite 轻量存储,也支持 MySQL
- 基于 PHP,可部署于常见 PHP 主机环境
- GPL-2.0 开源,提供演示站点与源码
组成与分工
- myTinyTodo:待办清单应用本体,提供 GTD 式任务管理
- jQuery:前端库,支撑 AJAX 风格的无刷新交互
- PHP:服务端运行环境
- SQLite:轻量数据库选项,适合单机小规模使用
- MySQL:数据库选项,适合更大规模数据存储
前置要求
- PHP 运行环境
- jQuery(应用自带)
- 数据库:SQLite 或 MySQL 二选一
使用与配置要点
- 从 GitHub 获取源码部署到 PHP 环境后即可使用
- 配置时在 SQLite 与 MySQL 之间选择存储后端:个人单机用 SQLite 更简单,需要共享数据则配 MySQL
- 验证方式:页面上添加、勾选任务无需整页刷新即说明 AJAX 正常工作
优缺点
- ✓ 部署简单依赖少
- ✓ 数据库可灵活选择
出处
本方案挖掘自开源项目 awesome-selfhosted/awesome-selfhosted,方案内容与实施命令均来自其 README 原文。