princydodia2312/CloudResQ

GitHub: princydodia2312/CloudResQ

一个基于 Flask 和 React 的云原生灾害响应平台,提供实时事故上报和多角色协同调度能力,帮助应急团队快速构建态势感知和协调响应。

Stars: 0 | Forks: 0

🌪️ CloudResQ — 智能灾害响应系统 一个实时、云原生的灾害响应平台,旨在利用现代 Web 和分布式系统原则,实现快速的事故上报、多角色协调以及高效的紧急情况处理。 🎯 核心功能 ⚡ 实时事故上报 📡 跨多角色(公众 / 官方部门 / 救援人员)的实时更新 📍 基于地理位置的上报与追踪 🧠 可扩展的无状态后端架构 🔐 通过安全请求头实现基于角色的访问控制 🐳 使用 Docker 进行完全容器化部署 ☁️ 云就绪架构(AWS 服务集成) 🏗️ 系统架构 用户 (浏览器) │ ▼ 前端 (React + Vite) │ ▼ Nginx (Docker 容器) │ ▼ 后端 API (Flask + Gunicorn) │ ├── DynamoDB (上报与限流) ├── S3 (媒体存储) └── API Gateway WebSocket (实时更新) ⚙️ 技术栈 层级 | 技术 | 用途 前端 | React + Vite | 多角色 UI 后端 | Flask + Gunicorn | REST API 实时通信 | AWS API Gateway WebSockets + Lambda | 实时通信 数据库 | DynamoDB | 可扩展的 NoSQL 存储 存储 | AWS S3 | 图片/视频存储 认证 | bcrypt + 角色令牌 | 轻量级安全机制 DevOps | Docker + Docker Compose | 容器化部署 Web 服务器 | Nginx (Alpine) | 静态资源服务与路由 🚀 本地设置 (一条命令) 前置条件 已安装 Docker 已安装 Git 运行项目 git clone cd ResQNet docker-compose up --build 访问应用 服务 | URL 公众应用 | http://localhost:3000 官方部门应用 | http://localhost:3001 救援人员应用 | http://localhost:3002 后端 API | http://localhost:5000/api/health 📡 API 概览 方法 | 端点 | 描述 GET | /api/health | 系统健康检查 POST | /api/reports | 提交事故 GET | /api/reports | 获取报告 PATCH | /api/reports/:id/status | 更新状态 GET | /api/stats | 仪表盘指标 🔐 认证模型 系统使用轻量级的基于角色的访问控制机制: 请求中包含 X-Role-Token 请求头 使用 bcrypt 哈希验证令牌 确保无会话开销的安全访问 ⚡ 实时通信 使用 WebSockets (API Gateway + Lambda) 实现 在 DynamoDB 中存储活动连接 支持: 即时报告更新 实时仪表盘 多用户同步 📈 可扩展性设计 水平扩展 无状态后端 (无会话存储) 数据存储在 DynamoDB/S3 中 任何实例都可以处理任何请求 垂直扩展 支持 EC2 实例升级 基于容器的架构,便于复制 🧠 系统设计亮点 微服务启发的架构 事件驱动通信 云原生存储 容器化部署 关注点分离 (前端 / 后端 / 基础设施) 📁 项目结构 ResQNet/ ├── backend/ ├── frontend-public/ ├── frontend-authority/ ├── frontend-rescue/ ├── docker-compose.yml └── README.md ⚠️ GPS 功能说明 地理位置功能仅在安全环境下可用: ✅ 在 localhost 上可用 ❌ 在 HTTP 下被阻止 (EC2 公网 IP) ✅ 需要使用 HTTPS (生产环境配置) 🚀 未来改进 使用 Cloudflare / Nginx 配置 HTTPS 负载均衡器 + 自动扩展 基于 JWT 的身份验证 地图集成 (实时追踪) 通知系统增强 ⭐ 总结 本项目展示了: 真实世界的系统设计 云原生思维 可扩展的架构 生产级别的部署实践
标签:API Gateway, AWS, CISA项目, Docker, DPI, DynamoDB, Flask, Gunicorn, Nginx, RBAC, React, REST API, S3, Syscalls, Vite, WebSocket, 事件管理, 依赖分析, 公共安全, 地理定位, 基于角色的访问控制, 多角色协同, 安全防御评估, 实时报告, 实时通信, 容器化部署, 应急响应系统, 救援指挥系统, 无状态架构, 漏洞探索, 灾害响应平台, 版权保护, 自定义脚本, 请求拦截