lspassos1/mapa-da-violencia-brasil

GitHub: lspassos1/mapa-da-violencia-brasil

整合巴西近实时枪击雷达、官方 homicide 统计与数据异常检测的公共安全可视化与 OSINT 分析平台。

Stars: 0 | Forks: 0

# 🎯 巴西暴力地图 [![在线状态](https://img.shields.io/badge/▶_ao_vivo-radar_de_tiroteios-22d3ee?style=flat)](https://mapa-da-violencia-brasil.vercel.app) [![许可证](https://img.shields.io/github/license/lspassos1/mapa-da-violencia-brasil?style=flat&color=blue)](LICENSE) [![最新提交](https://img.shields.io/github/last-commit/lspassos1/mapa-da-violencia-brasil?style=flat)](https://github.com/lspassos1/mapa-da-violencia-brasil/commits) [![Stars](https://img.shields.io/github/stars/lspassos1/mapa-da-violencia-brasil?style=social)](https://github.com/lspassos1/mapa-da-violencia-brasil/stargazers) [![Next.js](https://img.shields.io/badge/Next.js-000?style=flat&logo=nextdotjs&logoColor=white)](https://nextjs.org) [![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=flat&logo=typescript&logoColor=white)](https://www.typescriptlang.org) [![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-38BDF8?style=flat&logo=tailwindcss&logoColor=white)](https://tailwindcss.com) [![MapLibre](https://img.shields.io/badge/MapLibre_GL-396CB2?style=flat&logo=maplibre&logoColor=white)](https://maplibre.org) [![Supabase](https://img.shields.io/badge/Supabase-3FCF8E?style=flat&logo=supabase&logoColor=white)](https://supabase.com) [![Vercel](https://img.shields.io/badge/Vercel-000?style=flat&logo=vercel&logoColor=white)](https://vercel.com) **▶ 在线演示:** ## ✦ 项目简介 分为三个层次,具有**不同的可信度**且**绝不混淆**(每条线索都包含来源和免责声明): ### 1. 枪击雷达 — _主页_,近实时数据 - 来自 **Fogo Cruzado** 的**地理空间定位**枪击/开火事件(涵盖里约热内卢、累西腓、萨尔瓦多和贝伦的大都市区)。 - **全国性 OSINT 层:** 通过 AI 从**新闻**中提取的武装暴力迹象,覆盖这 4 个大都市区**之外**的城市(精确到市级 — 仅为线索,非正式记录)。 - **“📍 我附近”**,上下文分类(团伙冲突 × 警方行动),累积的历史趋势。 - ⚠️ **非紧急警报** — 遇到紧急情况,请拨打 **190**。 ### 2. 官方地图 — 汇总数据 - 各市县的故意杀人案(**SINESP/MJSP — VDE 数据库**):评分 0–100,各州之间的对比以及趋势/季节性分析。 ![官方地图 — 巴西暴力地图](https://static.pigsec.cn/wp-content/uploads/repos/cas/66/66f99ee801dd1556e40cb75ddce6e307e79018b6fa200828d3d730b82ee75a38.jpg) ### 3. 异常 / 官方数据可信度雷达 检测**报告的暴力数据可能在何处被隐瞒** — 基于学术文献。仅为线索,**绝不作为指控**。 - **视角 1 · 选举周期** — 选前窗口期故意杀人案出现异常下降,与**同等规模的城市**进行成对比较(使用 diff-in-diff,绝不使用粗略排名),并**与帮派分布进行交叉比对**。 - **视角 2 · 犯罪治理 (RJ)** — 领土控制 × 冲突(Fogo Cruzado + ISP-RJ)。 - **视角 3 · 隐性杀人案** — 在“死因不明死亡”(MVCI)**高于全国趋势**时,故意杀人案却呈现下降趋势(SIM/DATASUS)。 - **每周 AI 摘要** — 客观、无党派偏见的简报,包含数据来源及线索界定说明。 ## ✦ 技术栈 | 层次 | 技术 | |---|---| | **前端** | Next.js (App Router) · React · TypeScript · Tailwind CSS v4 · MapLibre GL JS · lucide-react | | **后端 / 数据** | Next API Routes (`server-only`) · Supabase (Postgres + RPC) · 版本化的 JSON 静态资源 | | **AI / OSINT** | 免费提供商轮换 (Gemini · Groq · Cloudflare · Mistral · OpenRouter · Together) · **关键词优先 (keyword-first)** 分类 · **基于字典的地理编码** (IBGE,不使用 LLM) · 不使用 embeddings 的确定性去重 | | **基础设施** | Vercel (部署 + cron) · GitHub Actions (数据接入 cron) · Supabase (sa-east-1) | | **质量保证** | ESLint · `node:test` (契约/API) · Playwright · Greptile · Snyk · Dependabot | ## ✦ 数据来源 | 来源 | 用途 | |---|---| | **Fogo Cruzado** (API v2) | 地理空间定位的枪击事件(4 个大都市区) | | **SINESP/MJSP** (VDE 数据库) | 各市县/联邦单位 (UF) 的官方故意杀人案 | | **ISP-RJ / ISPdados** | 里约热内卢市县级犯罪数据 | | **SIM/DATASUS** | 死亡率 — 故意杀人 (X85–Y09) × MVCI (Y10–Y34) | | **IBGE** | 市县和质心(地理编码) | | **Google 新闻** (RSS) | OSINT 层的原始素材 | | **司法部** (Mapa das Orcrim) | 各联邦单位 (UF) 的帮派分布(交叉验证) | ## ✦ 本地运行 要求 **Node.js 22.x** 和 **npm ≥ 10**(主版本锁定在 `.nvmrc` 中)。 ``` npm install cp .env.example .env.local # preencha as credenciais — nenhum segredo é versionado npm run dev # http://localhost:3000 ``` 实用脚本: ``` npm run validate # lint + typecheck + testes + build (o que o CI roda) npm run test # testes de contrato e de API (node:test) npm run build # build de produção ``` 完整流程 — 单独测试、Playwright(视觉测试)、ETL、部署以及项目结构 — 请见 **[docs/CONTRIBUTING.md](docs/CONTRIBUTING.md)**。 ## ✦ 许可证和使用权 基于 **[GNU AGPL-3.0](LICENSE)** 发布。简而言之: | 用途 | 是否允许? | 备注 | |---|:---:|---| | 个人 · 研究 · 教育 | ✅ | 需遵循 AGPL-3.0 | | Self-hosted(自有实例) | ✅ | 需遵循 AGPL-3.0 | | Fork 及修改 | ✅ | 修改后的代码需按 AGPL-3.0 开源 | | 网络使用 / SaaS | ✅ | AGPL 要求向服务的用户**提供源代码** | ## ✦ 免责声明 本应用**非紧急警报**(遇紧急情况,请拨 **190**),也**无法实时衡量个人风险**。新闻/异常层仅为**线索**,非官方统计数据或确凿证据;不得用于监控、预测犯罪,或对特定事件或个人得出结论。官方数据可能存在漏报、修订以及各来源间的方法论差异。
标签:Supabase, 公共安全, 地理信息系统, 特征检测, 自动化攻击