AnbazhaganSekar/incident-response-tracking
GitHub: AnbazhaganSekar/incident-response-tracking
一套集成 AI 聊天助手、任务管理和实时仪表盘的 DevOps 全栈应用,帮助运维和安全团队更高效地跟踪与处置工单事件。
Stars: 0 | Forks: 0
# 🚀 DevOps CRUD 聊天机器人 - 完整安装指南
一个生产就绪的全栈应用程序,具备**多彩现代化 UI**、**AI 聊天机器人**、**任务管理**和**精美的仪表盘**功能。
## 🎨 功能特性
✅ **精美的登录页面** - 毛玻璃效果 + 霓虹渐变
✅ **AI 聊天机器人** - 面向 DevOps 的助手,支持流式响应
✅ **任务管理** - 包含优先级与状态追踪的 CRUD 操作
✅ **实时仪表盘** - 实时指标与 Recharts 数据可视化
✅ **JWT 身份验证** - 安全的基于 token 的身份验证
✅ **响应式设计** - 支持移动端与自适应 UI
✅ **暗黑主题** - 护眼的赛博朋克美学设计
✅ **Docker 就绪** - 完整的容器化支持
## 📋 技术栈
### 后端
- **FastAPI** - 现代化的 Python Web 框架
- **PostgreSQL/SQLite** - 数据库
- **JWT** - 身份验证
- **Pydantic** - 数据验证
### 前端
- **React 18** - UI 框架
- **Vite** - 构建工具
- **Recharts** - 数据可视化
- **CSS3** - 动画与样式
## 🏃 快速开始 (5 分钟)
### 选项 1: Docker Compose (推荐)
```
# 克隆项目
git clone https://github.com/yourusername/devops-crud-chatbot.git
cd devops-crud-chatbot
# 启动所有服务
docker-compose up -d
# 等待服务就绪
docker-compose ps
# 访问应用
# Frontend: http://localhost:5173
# Backend API: http://localhost:8000/docs
# Database: localhost:5432
```
### 选项 2: 本地开发
#### 后端设置
```
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# 安装依赖
pip install -r requirements.txt
# 设置环境变量
export SECRET_KEY="your-secret-key-change-in-production"
export DATABASE_URL="sqlite:///./devops_crud.db"
# 运行 FastAPI 服务器
uvicorn main:app --reload --port 8000
# Backend 运行于: http://localhost:8000
# API 文档位于: http://localhost:8000/docs
```
#### 前端设置
```
# 打开新终端,导航到 frontend 目录
cd frontend
# 安装依赖
npm install
# 创建 .env 文件
cat > .env << EOF
VITE_API_URL=http://localhost:8000
EOF
# 运行 Vite dev 服务器
npm run dev
# Frontend 运行于: http://localhost:5173
```
## 🔐 演示凭据
**电子邮箱:** user@example.com
**密码:** password123
或者创建您自己的账户!
## 📚 API 端点
### 身份验证
```
POST /api/auth/register - Register new user
POST /api/auth/login - Login & get JWT token
GET /api/auth/me - Get current user info
```
### 任务 (CRUD)
```
POST /api/tasks - Create new task
GET /api/tasks - Get all user tasks
GET /api/tasks/{task_id} - Get specific task
PUT /api/tasks/{task_id} - Update task
DELETE /api/tasks/{task_id} - Delete task
```
### 聊天与分析
```
POST /api/chat - Send message to AI assistant
GET /api/stats - Get user statistics
GET /api/health - Health check
```
## 🎯 功能特性详解
### 登录系统
- 带验证的响应式表单
- 使用 JWT token 进行注册和登录
- 安全的密码处理
- 在 localStorage 中进行会话持久化
### 仪表盘
- **概览标签页**: 统计卡片 + 图表
- **任务标签页**: CRUD 任务管理
- **聊天标签页**: AI 驱动的 DevOps 助手
- **个人资料标签页**: 用户信息与设置
### AI 聊天机器人
- DevOps 专属回复
- 上下文感知对话
- 流式消息支持
- 推荐话题
### 任务管理
- 创建、读取、更新、删除任务
- 优先级 (低、中、高)
- 状态追踪 (待处理、进行中、已完成)
- 完成度指标
## 🎨 设计系统
### 调色板
- **青色**: #00D9FF (主色)
- **洋红色**: #FF00FF (辅助色)
- **金色**: #FFD700 (第三色)
- **青柠色**: #00FF88 (强调色)
### 排版字体
- 展示字体:用于标题的粗体无衬线字体
- 正文字体:用于内容的整洁无衬线字体
- 等宽字体:用于代码片段
### 组件
- 毛玻璃效果卡片
- 渐变按钮
- 动画过渡
- 微交互
## 🚀 部署
### 部署到 Render (免费)
**后端:**
```
# 连接 GitHub 仓库
# 创建新 Web Service
# 设置 build command: pip install -r requirements.txt
# 设置 start command: uvicorn main:app --host 0.0.0.0
# 添加环境变量: SECRET_KEY
# (如果需要)设置 CORS_ORIGINS 以包含你的 frontend URL
# 部署!
```
**前端:**
```
# 创建新 Static Site
# 连接 GitHub 仓库
# 设置 build command: npm run build
# 设置 publish directory: dist
# 添加环境变量:
# VITE_API_URL=https://devops-crud-chatbot.onrender.com
# 部署!
```
### 部署到 AWS
```
# 构建 Docker 镜像
docker build -t devops-crud-backend:latest -f Dockerfile.backend .
docker build -t devops-crud-frontend:latest frontend/
# 推送到 ECR
aws ecr create-repository --repository-name devops-crud-backend
aws ecr create-repository --repository-name devops-crud-frontend
docker tag devops-crud-backend:latest 123456789.dkr.ecr.us-east-1.amazonaws.com/devops-crud-backend:latest
docker tag devops-crud-frontend:latest 123456789.dkr.ecr.us-east-1.amazonaws.com/devops-crud-frontend:latest
docker push 123456789.dkr.ecr.us-east-1.amazonaws.com/devops-crud-backend:latest
docker push 123456789.dkr.ecr.us-east-1.amazonaws.com/devops-crud-frontend:latest
# 部署到 ECS/EKS
# 使用 ECR URL 更新 docker-compose.yml
# 推送到 AWS ECS 或部署到 Kubernetes
```
## 🔧 环境变量
### 后端 (.env)
```
SECRET_KEY=your-secret-key-here
DATABASE_URL=sqlite:///./devops_crud.db
CORS_ORIGINS=http://localhost:5173,https://yourdomain.com
LOG_LEVEL=info
```
### 前端 (.env)
```
VITE_API_URL=http://localhost:8000
VITE_APP_NAME=DevOps CRUD Chatbot
```
## 📊 数据库架构
### 用户表
```
CREATE TABLE users (
email TEXT PRIMARY KEY,
password TEXT NOT NULL,
full_name TEXT NOT NULL,
created_at TIMESTAMP DEFAULT NOW()
);
```
### 任务表
```
CREATE TABLE tasks (
id TEXT PRIMARY KEY,
owner TEXT NOT NULL,
title TEXT NOT NULL,
description TEXT,
status TEXT DEFAULT 'pending',
priority TEXT DEFAULT 'medium',
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP,
FOREIGN KEY (owner) REFERENCES users(email)
);
```
### 消息表
```
CREATE TABLE messages (
id TEXT PRIMARY KEY,
user TEXT NOT NULL,
message TEXT NOT NULL,
timestamp TIMESTAMP DEFAULT NOW(),
context TEXT,
FOREIGN KEY (user) REFERENCES users(email)
);
```
## 🧪 测试
### 后端测试
```
# 运行所有测试
pytest
# 运行 coverage
pytest --cov=. --cov-report=html
# 运行特定测试
pytest tests/test_auth.py -v
```
### 前端测试
```
# 将 Vitest 添加到 package.json
npm install -D vitest @testing-library/react
# 创建 tests/App.test.jsx
npm run test
```
## 📈 性能优化建议
1. **缓存**: 引入 Redis 进行会话管理
2. **数据库**: 为频繁查询的列添加索引
3. **CDN**: 将前端部署到 Cloudflare/AWS CloudFront
4. **压缩**: 在 Vite 配置中启用 gzip
5. **图片**: 优化并懒加载图片
6. **监控**: 添加 Sentry 进行错误追踪
## 🛡️ 安全检查清单
- [x] JWT token 验证
- [x] CORS 配置
- [x] SQL 注入防护
- [x] XSS 防护
- [ ] 速率限制 (添加: `pip install slowapi`)
- [ ] 强制 HTTPS
- [ ] 密码哈希 (升级为 bcrypt)
- [ ] 审计日志
- [ ] OWASP 合规性
## 📄 许可证
MIT 许可证 - 可自由用于个人和商业项目!
## 🎓 学习资源
- [FastAPI 文档](https://fastapi.tiangolo.com)
- [React 文档](https://react.dev)
- [Vite 指南](https://vitejs.dev)
- [Recharts](https://recharts.org)
- [JWT 最佳实践](https://tools.ietf.org/html/rfc7519)
由 DevOps 工程师为 DevOps 工程师用 ⚡ 构建。
**祝您编码愉快!🚀**
标签:AI助手, AV绕过, CRUD, Docker, Docker Compose, FastAPI, JWT认证, PostgreSQL, Python, React 18, Recharts, SQLite, Vite, 事件响应跟踪, 任务管理, 响应式设计, 安全防御评估, 实时仪表盘, 无后门, 测试用例, 网络安全, 请求拦截, 运维管理, 逆向工具, 隐私保护