cursor done.
This commit is contained in:
95
README.md
95
README.md
@@ -1,44 +1,81 @@
|
||||
# 任务日历系统
|
||||
|
||||
一个简洁美观的任务日历系统,可以标记每一天的任务完成状态。
|
||||
一个可以给每天打勾/打圈的极简任务日历,支持多服务器、多终端同步,还自带 Docker 部署方案。
|
||||
|
||||
## 功能特性
|
||||
## ✨ 特色功能
|
||||
- **三态标记**:未标记 / 已完成(✓)/ 部分完成(○),一键轮换
|
||||
- **多服务器同步**:同一套前端,想连哪台后端就连哪台
|
||||
- **自动保存**:修改 0.5 秒后自动写入数据库,再也不怕刷新丢数据
|
||||
- **多端布局**:桌面、平板、手机都能舒舒服服地操作
|
||||
- **模块化前后端**:逻辑拆分清晰,方便二次开发
|
||||
|
||||
- 📅 **日历视图**:清晰的月份日历展示
|
||||
- ✅ **任务标记**:支持三种状态
|
||||
- ✓ 任务已完成(绿色)
|
||||
- ○ 任务部分未完成(橙色)
|
||||
- 未标记(灰色)
|
||||
- 💾 **数据保存**:使用浏览器 localStorage 自动保存标记数据
|
||||
- 🎨 **简洁界面**:现代化的 UI 设计,响应式布局
|
||||
- 🖱️ **便捷操作**:点击日期即可切换标记状态
|
||||
## 🚀 快速开始
|
||||
|
||||
## 使用方法
|
||||
### 方式一:Docker
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
然后访问 `http://localhost:3000`
|
||||
|
||||
1. 直接在浏览器中打开 `index.html` 文件
|
||||
2. 点击日历上的日期来切换标记状态:
|
||||
- 第一次点击:标记为"已完成"(✓)
|
||||
- 第二次点击:标记为"部分完成"(○)
|
||||
- 第三次点击:清除标记
|
||||
3. 使用左右箭头按钮切换月份
|
||||
4. 点击"今天"按钮快速回到当前月份
|
||||
### 方式二:本地运行
|
||||
```bash
|
||||
npm install
|
||||
npm start
|
||||
```
|
||||
同样访问 `http://localhost:3000`
|
||||
|
||||
## 文件结构
|
||||
> 如需自定义端口,运行前设定 `PORT=xxxx` 即可。
|
||||
|
||||
## 🧭 使用指南
|
||||
1. **添加服务器**:页面底部输入想连接的后端地址,点击「添加」,并从下拉框选择它
|
||||
2. **注册 / 登录**:按提示填写信息,完成后即可自动加载个人日历
|
||||
3. **打勾打圈**:点击某天即可循环切换状态;右上角的 Toast 会给出操作反馈
|
||||
4. **自动保存**:系统会在短暂延迟后后台保存,提示「数据已保存」即完成
|
||||
5. **随时切换**:切换到其他服务器/账号时,会自动同步对应数据
|
||||
|
||||
## 🏗 项目结构
|
||||
```
|
||||
timeline/
|
||||
├── index.html # 主页面
|
||||
├── style.css # 样式文件
|
||||
├── app.js # 应用逻辑
|
||||
└── README.md # 说明文档
|
||||
├── server.js # 后端入口
|
||||
├── server/
|
||||
│ ├── config.js # 基础配置
|
||||
│ ├── database.js # SQLite 连接与初始化
|
||||
│ ├── middleware/
|
||||
│ │ └── auth.js # JWT 鉴权
|
||||
│ ├── routes/
|
||||
│ │ ├── auth.js # 登录 / 注册 / 当前用户
|
||||
│ │ └── calendar.js # 日历数据读写
|
||||
│ └── utils/
|
||||
│ └── shutdown.js # 优雅关闭处理
|
||||
├── public/
|
||||
│ ├── index.html
|
||||
│ ├── style.css
|
||||
│ └── js/
|
||||
│ ├── main.js # 前端入口
|
||||
│ ├── auth.js # 登录注册逻辑
|
||||
│ ├── calendar.js # 日历渲染与交互
|
||||
│ ├── api.js # 与后端通信
|
||||
│ ├── storage.js # 本地存储封装
|
||||
│ ├── state.js # 全局状态
|
||||
│ └── toast.js # 提示组件
|
||||
├── Dockerfile
|
||||
├── docker-compose.yml
|
||||
├── package.json
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## 技术说明
|
||||
## ⚙️ 配置项
|
||||
- `PORT`:后端监听端口,默认 `3000`
|
||||
- `JWT_SECRET`:JWT 密钥,默认简单字符串,生产环境务必更换
|
||||
|
||||
- 纯 HTML/CSS/JavaScript 实现,无需构建工具
|
||||
- 使用 localStorage 保存数据,刷新页面后数据不会丢失
|
||||
- 响应式设计,支持移动端和桌面端
|
||||
## 💡 小贴士
|
||||
- 服务器列表保存在浏览器 LocalStorage,可随时增删
|
||||
- 支持多个浏览器/设备同时登录同一账号,数据实时同步
|
||||
- 若要重置数据,直接删除根目录下的 `data.db` 即可(注意备份)
|
||||
|
||||
## 浏览器兼容性
|
||||
## 🧱 技术栈速览
|
||||
- **后端**:Node.js、Express 5、SQLite、JWT、bcryptjs
|
||||
- **前端**:原生 HTML/CSS/JS + 模块化组织
|
||||
- **部署**:Docker / Docker Compose 一键启动
|
||||
|
||||
支持所有现代浏览器(Chrome、Firefox、Safari、Edge 等)
|
||||
Enjoy hacking! 🎉
|
||||
|
||||
Reference in New Issue
Block a user