STIWARTs/NGOSynergy-GSC26

GitHub: STIWARTs/NGOSynergy-GSC26

NGO Synergy 是一个统一的危机响应平台,将现场原始报告通过 AI 转化为验证过的优先事件,并智能匹配调度志愿者,实现端到端的人道主义救援协调。

Stars: 0 | Forks: 0

gsc2026

# NGO Synergy — 智能资源分配 (GSC 2026) ## 为什么完全契合问题陈述 (PS) 问题陈述 (PS) 要求一个系统能够 (1) **收集分散的社区信息**,(2) **清晰展示最紧迫的当地需求**,以及 (3) **快速将志愿者匹配**到合适的任务和地点。 NGO Synergy 端到端地解决了这个问题: - **收集与统一**:将纸质调查/现场报告(图像、PDF、自由文本)转化为一个结构化数据集。 - **清晰优先级排序**:使用经过验证的字段 + 可解释的优先级分数。 - **快速匹配与调度**:综合考虑技能 + 空闲时间 + 距离/ETA,然后将任务分配发送给志愿者。 ## 项目简介 NGO Synergy 是一个统一的危机响应平台,包含: - **Web 管理控制台** (React):用于分流、验证、匹配和操作管理。 - **移动端志愿者 App** (Flutter):用于登录、地图上下文和任务执行。 - **单一后端 API 服务器** (Node/Express):负责保障访问安全、运行 AI pipeline 以及持久化操作数据。 深度技术概述:参见 `Idea.md`。 ## 核心功能(便于评审) - **数字化**:Document AI OCR → Gemini schema 强制转换的 JSON → 验证 → Firestore。 - **验证中心**:AI 辅助检查 + 人机协同 (human-in-the-loop) 审批。 - **匹配引擎**:对志愿者进行排名,并考虑距离/ETA 以实现实际调度。 - **地图**:用于事件和协调的 Web 端和移动端地图视图。 - **文档库与 Q&A**:存储证据并进行“对话”以实现摘要和检索。 ## 使用的 Google / Firebase 服务 - **Firebase Authentication** (+ Google Sign-In) - **Firebase Admin SDK** (服务器端 token 验证,角色) - **Cloud Firestore** (操作数据库) - **Cloud Storage / Firebase Storage bucket** (文档/证据) - **Document AI** (用于 PDF/图像的 OCR) - **Gemini API** (结构化提取、验证、文档 Q&A) - **Vertex AI Prediction** (可选的托管排名) - **Google Maps Platform** (Maps JS API、Maps SDK for Flutter、Distance Matrix、Geocoding/Reverse Geocoding) ## 仓库布局 - `src/` — Web 管理端 (React + Vite) - `backend/` — 后端 API (Express + TypeScript) - `mobile_app/` — Flutter 志愿者 App - `backend/Data Digitization Pipeline/` — 独立可运行的 pipeline 演示 (OCR → Gemini → 验证 → Firestore) ## 快速开始(本地演示) ### 前置条件 - Node.js 18+ - (可选)用于 `mobile_app/` 的 Flutter SDK - (可选)用于后端 ML 回退脚本的 Python 3.x ### 1) 启动 Web 端与后端 ``` npm install npm --prefix backend install cp .env.example .env cp backend/.env.example backend/.env npm run dev:all ``` - Web: http://localhost:5173 - 后端: http://localhost:8080 (健康检查: `/health`) - 开发便利: Vite 将 `/api` 代理至 `http://localhost:8080` ### 2) 认证说明(供评审人员参考) - 后端支持**开发绕过模式**:在 `backend/.env` 中设置 `DEV_MODE=true` 即可跳过 token 验证。 - 若需完整的端到端运行,请在 `backend/.env` 中配置 Firebase Admin 和 API 密钥(可从 `backend/.env.example` 复制)。 ### 3) 运行移动端 App(可选) 复制移动端环境模板: ``` cp mobile_app/.env.example mobile_app/.env ``` `mobile_app/.env.example` 默认使用 `10.0.2.2`(Android 模拟器访问宿主机环回地址)。如使用物理设备,请改用您机器的实际 IP。 然后: ``` cd mobile_app flutter pub get flutter run ``` ## 脚本 - 根目录: `npm run dev` (Web 端), `npm run dev:all` (Web 端 + 后端) - 后端: `npm --prefix backend run dev` ## 许可证 内部使用(黑客马拉松原型)
标签:Express, Firestore, Flutter, Gemini, GNU通用公共许可证, GSC2026, MITM代理, NGO管理, Node.js, OCR, PDF解析, React, Syscalls, Web管理后台, 人机协同, 任务分发, 优先级排序, 危机响应, 图像识别, 实时地图, 应急指挥系统, 志愿者调度, 文档AI, 智慧救援, 智能匹配, 灾难救援, 现场报告处理, 社区信息聚合, 移动应用, 自动化攻击, 资源分配, 逆向工具