MCP推送通知设置同步
MCP终端用户的一个集中式模块,用于管理和同步多个设备上的推送通知设置,确保一致的偏好,防止重复警报,并安全处理设置更新。
______________________________________________________________________
特性
- 集中管理 每个用户帐户的推送通知设置
- 同步 所有链接设备的设置更改
- 去重:防止具有多个设备的用户重复推送通知
- 每台设备启用/禁用 用于通知
- 安全传输和存储 (传输和静止时的加密)
- 强大的会话管理 基于JWT的身份验证
- 审核日志记录 所有设置更改
- 可扩展的 面向大量用户/设备的架构
______________________________________________________________________
技术栈
- 后端: Node.js(Express)、TypeScript、TypeORM、PostgreSQL、Redis、JWT、OpenSSL
- 前端: React、TypeScript
- 测试: 是的,超级测试
- 文档: Swagger(OpenAPI),自述文件
- 代码质量: ESLint,Prettier
______________________________________________________________________
入门指南
先决条件
- Node.js(建议使用v18+)
- PostgreSQL(v13+)
- Redis(v6+)
- Yarn或npm
环境变量
创建 .env 文件在 backend/ 目录包含以下内容:
PORT=4000
DATABASE_URL=postgres://user:password@localhost:5432/mcp_notifications
REDIS_URL=redis://localhost:6379
JWT_SECRET=your_jwt_secret
ENCRYPTION_KEY=32_byte_hex_or_ascii_key
CORS_ORIGIN=http://localhost:3000
AUDIT_LOG_PATH=./logs/audit.log注: ENCRYPTION_KEY 对于AES-256-GCM,必须恰好为32个字节。
______________________________________________________________________
后端设置
- 安装依赖项:
cd backend
yarn install
# or
npm install- 运行数据库迁移:
yarn typeorm migration:run
# or
npm run typeorm migration:run- 启动后端服务器:
yarn start
# or
npm start- API文件:
访问 http://localhost:4000/api-docs Swagger用户界面。
______________________________________________________________________
前端设置
- 安装依赖项:
cd frontend
yarn install
# or
npm install- 配置API基本URL:
创建 .env 文件在 frontend/:
REACT_APP_API_BASE_URL=http://localhost:4000/api/notification-settings- 启动前端应用程序:
yarn start
# or
npm start- 访问UI:
打开 http://localhost:3000/settings 在您的浏览器中。
______________________________________________________________________
测试
后端
运行自动化测试(Jest):
cd backend
yarn test
# or
npm test前端
运行React测试:
cd frontend
yarn test
# or
npm test______________________________________________________________________
安全说明
- 所有敏感数据在传输过程中(TLS)和静止时(AES-256-GCM)都经过加密。
- 对所有API端点强制执行基于JWT的身份验证。
- 所有设置更改都会保留审核日志。
- 会话和授权检查是稳健且经过测试的。
______________________________________________________________________
API 参考
- 看 backend/docs/swagger.yaml 或
/api-docs完整OpenAPI规范的端点。
______________________________________________________________________
项目结构
backend/
src/
controllers/
middleware/
models/
services/
utils/
tests/
docs/
frontend/
src/
api/
pages/
App.tsx
README.md______________________________________________________________________
许可证
MIT许可证
______________________________________________________________________
维护者
- MCP工程团队
______________________________________________________________________
