AbdullahAnsari103/safenex-amd

GitHub: AbdullahAnsari103/safenex-amd

SafeNex 是一个整合了风险感知路线规划、AI 驱动 SOS 紧急响应和匿名社区支持的个人安全保障平台。

Stars: 0 | Forks: 0

# 🛡️ SafeNex - 完整的安全平台 SafeNex 是一个全面的安全保障平台,旨在通过 AI 驱动的紧急响应、智能路线规划和匿名社区支持来保护用户。 ![SafeNex](https://img.shields.io/badge/SafeNex-v1.0.0-green) ![Node.js](https://img.shields.io/badge/Node.js-18.x-brightgreen) ![Express](https://img.shields.io/badge/Express-4.18-blue) ![License](https://img.shields.io/badge/License-MIT-yellow) ## 🌟 功能 ### 🚨 Nexa AI SOS - **AI 驱动的紧急助手**,基于 Gemini 2.0 Flash - **语音转文字**紧急通讯 - **智能关键词检测**(help、emergency、danger、sos) - **GPS 位置追踪**及移动轨迹 - 用于紧急联系人的 **WhatsApp 集成** - **静止检测**警报 ### 🗺️ SafeTrace - 智能路线规划 - **多模式路线规划**(步行、骑行、驾车) - **已验证的危险区域数据库**(孟买 20 多个区域) - **实时风险评估**及颜色编码路线 - 使用地理围栏的**危险区域避让** - 包含安全提示的 **Gemini AI 路线分析** - 带有分步指引的**逐向导航** - 接近危险区域时的**邻近警报** ### 💬 Silent Room - 匿名支持 - 带有自动生成用户名的**匿名发布** - 针对敏感话题的**社区支持** - 带有自动标记(3 次以上举报)的**举报系统** - 带有用户警告的**管理员审核** - 使用 Socket.io 的**实时更新** ### 👤 用户功能 - **二维码验证**系统 - 使用 Gemini AI 的**文档验证** - **信任评分**计算 - **SafeNex ID** 生成 - **活动追踪** ### 🔐 管理面板 - 带有在线状态的**用户管理** - 带有实时 SOS 会话的**紧急警报仪表板** - **危险区域管理**(CRUD 操作) - 带有标记帖子的**Silent Room 审核** - **系统健康监控**(追踪 6 个系统) - **统计与分析** ## 🚀 快速开始 ### 前置条件 - Node.js 18.x 或更高版本 - Turso (LibSQL) 数据库账户 - Gemini API 密钥 - OpenRouteService API 密钥 ### 安装 1. **克隆仓库** ``` git clone https://github.com/AbdullahAnsari103/SAFENEX-.git cd SAFENEX- ``` 2. **安装依赖** ``` npm install ``` 3. **配置环境变量** ``` cp .env.example .env # 使用你的 credentials 编辑 .env ``` 4. **初始化数据库** ``` node scripts/init-verified-danger-zones-turso.js ``` 5. **启动服务器** ``` npm start ``` 访问 `http://localhost:5000` ## 📦 部署 ### Vercel(推荐) 有关详细说明,请参阅 [VERCEL_DEPLOYMENT.md](./VERCEL_DEPLOYMENT.md)。 快速部署: 1. 推送到 GitHub 2. 导入到 Vercel 3. 添加环境变量 4. 部署! ### 其他平台 - **Heroku**:使用 `Procfile`(已包含) - **Railway**:自动检测 - **Render**:使用 `npm start` ## 🔧 配置 ### 环境变量 所需变量(参见 `.env.example`): ``` # Security JWT_SECRET=your_jwt_secret # Database TURSO_DATABASE_URL=your_database_url TURSO_AUTH_TOKEN=your_auth_token # AI Services GEMINI_API_KEY=your_gemini_key GEMINI_API_KEY_SAFETRACE=your_safetrace_key GEMINI_MODEL=gemini-2.0-flash-exp # Navigation OPENROUTE_API_KEY=your_openroute_key # CORS ALLOWED_ORIGINS=http://localhost:5000 ``` ## 🗄️ 数据库 Schema ### Users 表 - 用户身份验证和个人资料 - 文档验证状态 - SafeNex ID 和二维码 - 活动追踪 ### SOS Sessions 表 - 紧急会话追踪 - 带有轨迹的位置数据 - 联系人信息 - 会话事件时间线 ### Verified Danger Zones 表 - 孟买 20 多个已验证的危险区域 - 风险等级(严重、高、中、低) - 活动时间和类别 - 地理围栏数据 ### Silent Room 表 - 匿名帖子 - 举报和标记系统 - 用户警告 ## 🛠️ 技术栈 ### 后端 - **Node.js** - Runtime environment - **Express.js** - Web 框架 - **Turso (LibSQL)** - Serverless 数据库 - **Socket.io** - 实时通信 ### AI 与 API - **Google Gemini 2.0 Flash** - AI 助手与分析 - **OpenRouteService** - 路线规划 - **Pelias Geocoding** - 地址搜索 ### 前端 - **Vanilla JavaScript** - 无框架开销 - **Leaflet.js** - 交互式地图 - **Socket.io Client** - 实时更新 ### 安全 - **JWT** - 身份验证 - **bcrypt** - 密码哈希 - **express-rate-limit** - 速率限制 - **CORS** - 跨源保护 ## 📊 API Endpoints ### 身份验证 - `POST /api/auth/register` - 用户注册 - `POST /api/auth/login` - 用户登录 - `GET /api/dashboard` - 用户仪表板 ### SOS - `POST /api/sos/session` - 创建紧急会话 - `POST /api/sos/chat` - AI 聊天 - `GET /api/sos/config` - 获取 SOS 配置 ### SafeTrace - `POST /api/safetrace/routes` - 计算路线 - `GET /api/safetrace/danger-zones/all` - 获取所有危险区域 - `POST /api/safetrace/report` - 举报危险区域 ### Silent Room - `GET /api/silentroom/posts` - 获取帖子 - `POST /api/silentroom/posts` - 创建帖子 - `POST /api/silentroom/post/:id/report` - 举报帖子 ### 管理员 - `GET /api/admin/users` - 获取所有用户 - `GET /api/admin/sos-sessions` - 获取 SOS 会话 - `GET /api/admin/danger-zones` - 管理危险区域 ## 🔒 安全 ### 已实施的措施 - ✅ JWT 身份验证 - ✅ 使用 bcrypt 进行密码哈希 - ✅ 速率限制(每 15 分钟 100 次请求) - ✅ CORS 保护 - ✅ 输入验证 - ✅ SQL 注入防护(参数化查询) - ✅ XSS 保护 - ✅ 环境变量加密 ### 最佳实践 - 切勿提交 `.env` 文件 - 定期重新生成 API 密钥 - 使用强 JWT 密钥 - 在生产环境中启用 HTTPS - 监控 API 使用情况 ## 📱 功能详情 ### Nexa AI SOS AI 驱动的紧急助手使用 Gemini 2.0 Flash 来: - 理解自然语言紧急请求 - 自动检测紧急关键词 - 提供冷静、有用的响应 - 通过 3 点 GPS 轨迹追踪用户位置 - 计算移动方向 - 检测用户是否静止不动(潜在危险) - 通过 WhatsApp 发送详细的紧急警报 ### SafeTrace 路线规划 将安全置于首位的智能路线规划: - 获取每种出行方式的 3 条备选路线 - 根据危险区域计算风险评分 - 按以下条件对路线排序:危险区域最少 → 风险最低 → 距离最短 - 提供包含安全提示的 Gemini AI 分析 - 显示逐向导航 - 在接近危险区域时发出警报 - 支持步行、骑行和驾车模式 ### Silent Room 匿名社区支持平台: - 自动生成的用户名(例如,“Anonymous Panda”) - 无需个人信息 - 社区驱动的审核(举报系统) - 带有警告系统的管理员监督 - 实时帖子更新 ## 📄 许可证 本项目基于 MIT 许可证授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。 ## 👨‍💻 作者 **Abdullah Ansari** - GitHub: [@AbdullahAnsari103](https://github.com/AbdullahAnsari103) - 电子邮件: abdullahansari01618@gmail.com ## 📞 支持 如需支持,请发送电子邮件至 abdullahansari01618@gmail.com 或在 GitHub 上提 issue。 ## 🗺️ 路线图 - [ ] 移动应用 (React Native) - [ ] 支持更多城市 - [ ] 实时位置共享 - [ ] 紧急服务集成 - [ ] 多语言支持 - [ ] 离线模式 - [ ] 语音命令 - [ ] 可穿戴设备集成 **用 ❤️ 创造,为了一个更安全的世界**
标签:Express, Gemini, GNU通用公共许可证, MITM代理, Node.js, SOS紧急求救, 公共安全, 导航系统, 社区论坛, 自定义脚本