# note **Repository Path**: Tab-Tan/note ## Basic Information - **Project Name**: note - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-27 - **Last Updated**: 2026-02-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 在线记事本 (Online Notepad) 一个简洁清新的在线记事本应用,支持富文本编辑、日程提醒和Webhook通知。 ## 功能特点 - 🔐 用户认证:注册和登录系统 - 📝 富文本编辑:使用Quill.js支持格式化文本 - 📱 移动端友好:响应式设计,适配各种屏幕 - ⏰ 日程提醒:设置提醒时间,支持Webhook通知 - 🎨 简洁设计:清新现代的UI风格 - 💾 数据存储:使用MySQL数据库存储用户数据和笔记 ## 技术栈 ### 后端 - Node.js + Express - MySQL 8.0 - JWT认证 - node-cron(定时任务) ### 前端 - 原生HTML/CSS/JavaScript - Quill.js(富文本编辑器) - 响应式设计 ### 部署 - Docker & Docker Compose ## 快速开始 ### 1. 克隆项目 ```bash git clone git@gitee.com:Tab-Tan/note.git cd note ``` ### 2. 使用Docker Compose启动 ```bash docker-compose up -d ``` 这将启动: - MySQL数据库(端口3306) - Web应用(端口3000) ### 3. 访问应用 打开浏览器访问:http://localhost:3000 ## 使用说明 ### 用户注册和登录 1. 首次使用点击"注册"创建账户 2. 输入用户名和密码(邮箱可选) 3. 注册后使用用户名和密码登录 ### 创建笔记 1. 点击左侧"新建笔记"按钮 2. 输入笔记标题 3. 使用富文本编辑器编写内容 4. 点击"保存"按钮保存笔记 ### 创建提醒 1. 点击左侧"新建提醒"按钮 2. 输入提醒标题 3. 设置提醒时间 4. (可选)添加描述和Webhook URL 5. 点击"保存"按钮 ### Webhook通知 当提醒时间到达时,如果配置了Webhook URL,系统会向该URL发送POST请求: ```json { "reminder_id": 1, "user_id": 1, "title": "提醒标题", "description": "提醒描述", "remind_at": "2026-02-27 14:30:00" } ``` ## 环境变量 在`.env`文件中配置(Docker Compose已预设默认值): ``` DB_HOST=mysql DB_USER=noteuser DB_PASSWORD=notepassword DB_NAME=noteapp JWT_SECRET=your-secret-key-change-this PORT=3000 ``` **⚠️ 生产环境请务必修改JWT_SECRET!** ## 数据库结构 ### users表 - id: 用户ID - username: 用户名(唯一) - password: 加密密码 - email: 邮箱(可选) - created_at, updated_at: 时间戳 ### notes表 - id: 笔记ID - user_id: 用户ID(外键) - title: 笔记标题 - content: 笔记内容(HTML格式) - created_at, updated_at: 时间戳 ### reminders表 - id: 提醒ID - user_id: 用户ID(外键) - title: 提醒标题 - description: 描述(可选) - remind_at: 提醒时间 - webhook_url: Webhook URL(可选) - status: 状态(pending/sent/failed) - created_at: 创建时间 ## 开发 ### 本地开发(不使用Docker) 1. 安装依赖: ```bash npm install ``` 2. 启动MySQL(需要本地安装): ```bash # 确保MySQL运行并创建了noteapp数据库 mysql -u root -p < init-db.sql ``` 3. 修改.env配置: ``` DB_HOST=localhost DB_USER=root DB_PASSWORD=your_password DB_NAME=noteapp ``` 4. 启动开发服务器: ```bash npm run dev ``` ### 项目结构 ``` note/ ├── public/ # 前端静态文件 │ ├── css/ │ │ └── style.css # 样式文件 │ ├── js/ │ │ └── app.js # 前端逻辑 │ └── index.html # 主页面 ├── server.js # 后端服务器 ├── init-db.sql # 数据库初始化脚本 ├── Dockerfile # Docker镜像构建文件 ├── docker-compose.yml # Docker Compose配置 ├── package.json # Node.js依赖 └── .env # 环境变量 ``` ## 维护和更新 ### 查看日志 ```bash # 查看应用日志 docker logs note-app # 查看MySQL日志 docker logs note-mysql # 实时跟踪日志 docker logs -f note-app ``` ### 停止服务 ```bash docker-compose down ``` ### 重启服务 ```bash docker-compose restart ``` ### 备份数据库 ```bash docker exec note-mysql mysqldump -u root -prootpassword noteapp > backup.sql ``` ### 恢复数据库 ```bash docker exec -i note-mysql mysql -u root -prootpassword noteapp < backup.sql ``` ## 常见问题 ### Q: 端口冲突怎么办? A: 修改docker-compose.yml中的端口映射,例如将`3000:3000`改为`8080:3000` ### Q: 如何修改数据库密码? A: 同时修改docker-compose.yml和.env文件中的密码配置 ### Q: Webhook不工作? A: 检查URL是否可访问,查看应用日志了解具体错误信息 ## 安全建议 1. 生产环境务必修改JWT_SECRET 2. 使用HTTPS部署 3. 定期备份数据库 4. 限制数据库访问IP 5. 使用防火墙保护服务器 ## 许可证 MIT License ## 贡献 欢迎提交Issue和Pull Request! --- **作者**: Tab-Tan **项目地址**: https://gitee.com/Tab-Tan/note