Autoescaneo confidencial y gratuito para reconocer señales de violencia de género y encontrar apoyo en los 51 municipios de Nuevo León.
Translation pending
HealthGitHub @fernandodillandOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Proyecto Ciudadano creado en LABNL
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Ojo (oct 2026): el back Rust (
back-rs/) está en producción desde el 18 oct; donde diga «no desplegado», es de antes. Manda el bloque «Flujo de trabajo» deAGENTS.md.
Una herramienta digital, colaborativa, clara y accesible para visibilizar, nombrar y comprender las distintas formas de violencia de género.
Refleja es un proyecto ciudadano de LABNL – Lab Cultural Ciudadano, libre y de código abierto. Ofrece un autoescaneo confidencial y gratuito para reconocer señales de violencia de género y un directorio de apoyo para los 51 municipios de Nuevo León.
🌐 Sitio: refleja.org
El proyecto surge al advertir la necesidad de concientizar sobre la violencia de género, debido a la permanencia de la Alerta de Violencia de Género en Nuevo León desde 2016. Actualmente nueve municipios tienen la alerta activa: Apodaca, Cadereyta Jiménez, Guadalupe, Juárez, Monterrey, Escobedo, García, Ciénega de Flores y Salinas Victoria.
Frente a los pocos recursos digitales —a menudo limitados— y a espacios en línea que pueden resultar hostiles, Refleja busca crear un espacio seguro en internet, con información suficiente, amplia y sencilla de comprender, que fortalezca la capacidad de identificar violencias cotidianas y acompañe procesos de reflexión y acción.
Es un proceso participativo y colectivo: personas colaboradoras de diversas áreas dialogan para construir una herramienta verdaderamente útil, replicable y basada en información confiable, que promueva el ejercicio de derechos y la construcción de entornos más seguros y libres de violencias.
Si ya conoces la respuesta de alguna pregunta inicial, puedes enviar un enlace que la salta por completo (ni siquiera se muestra): la respuesta se aplica sola y el cuestionario continúa en la siguiente pregunta. Útil para compartir la herramienta con alguien de quien ya sabes, por ejemplo, que va a responder sobre su pareja.
| Parámetro | Valores | Pregunta que salta |
|---|---|---|
persona | pareja · familiar · trabajo · otro | "Para comenzar, piensa en esa persona…" |
edad | 18-25 · 26-40 · 41-mas | "¿Qué edad tienes?" |
Los valores no reconocidos se ignoran y la pregunta se muestra normal. La pantalla de menores de edad nunca se salta. Las respuestas pre-contestadas cuentan en la estadística anónima igual que una respuesta normal.
Enlaces demo:
refleja/
├── front/ # sitio estático (JAMstack) en Cloudflare Workers (wrangler); push a main = despliegue
│ ├── src/formulario.json # preguntas y puntajes (el back lo LEE del disco: qids válidos y orden del embudo)
│ ├── src/municipios.json # directorio de recursos por municipio (51)
│ ├── src/llms.txt, llms-full.txt, robots.txt # para rastreadores/LLM del sitio público (no son docs del repo)
│ ├── generate.js # genera páginas por municipio + sitemap
│ └── package.json, wrangler.toml
├── back-rs/ # API Rust (Axum/Tokio/SQLx) = PRODUCCIÓN (api.refleja.org, :20834). README.md: correr, verificar, desplegar, servidor, legado Python
├── back/ # API FastAPI Python 3.10: APAGADA en prod; se conserva como oráculo de back-rs/tests/contract/diff.py (retirarla = TASK-0050, solo con permiso del dueño)
├── docs/migration/ # README.md = referencia consolidada (contratos, endpoints, datos, seguridad, ADR, pruebas, cutover) · tareas.md = 50 fichas condensadas · evidence/ = sondas del Python (benchmark en README §9)
├── AGENTS.md # bloque «Flujo PC» (comandos `dev …`); lo genera flujo-pc-docs.py: no editar a mano
└── desplegar.sh # OBSOLETO (Mac + root); no usar
Lectura sugerida: AGENTS.md → este README → back-rs/README.md → docs/migration/README.md (solo si tocas el backend o sus contratos).
Front: cd front && npm install && npm run dev (wrangler dev, http://localhost:8788). Back: back-rs/scripts/dev.sh (MariaDB local + esquema + admin admin/admin-dev-local + API en http://localhost:20832). VS Code: F5 → «Refleja: front + back (local)» levanta el back Python (.vscode/launch.json, cwd back, SQLite); para Rust hay una tarea back-rs: correr (cargo run :20832) en .vscode/tasks.json. El front detecta el entorno: local → localhost:20832; *.refleja.org → https://api.refleja.org/api. Detalle, verificación y despliegue del back: back-rs/README.md; contratos y estado de la migración a Rust (en producción desde el 18 oct 2026): docs/migration/README.md.
El Worker refleja está conectado a este repositorio: cada push a main despliega automáticamente refleja.org. Los pushes a otras ramas suben una versión de vista previa sin tocar producción.
Configuración del Worker en Cloudflare (Workers & Pages → refleja → Settings → Build):
| Campo | Valor |
|---|---|
| Repositorio / rama de producción | fernandodilland/refleja / main |
| Root directory | front |
| Build command | npm run build (regenera páginas de municipio + sitemap) |
| Deploy command | npx wrangler deploy |
| Build watch paths | incluir front/* (los cambios en back/ no redespliegan el sitio) |
Manual (evitar; en la PC Debian el flujo es push a main):
cd front
npm install
npm run build
npm run deploy
Refleja es abierto: se agradecen correcciones de datos, nuevos recursos, mejoras al cuestionario y al código.
front/src/municipios.json: agrega o corrige teléfonos, WhatsApp, direcciones y enlaces en el arreglo resources del municipio.front/src/formulario.json.node front/generate.js (al desplegar, Cloudflare también lo corre automáticamente).git clone https://github.com/fernandodilland/refleja.git
cd refleja
git checkout -b aporte/nombre-descriptivo
git add -A
git commit -m "Agrega recursos de apoyo del municipio X"
git push origin aporte/nombre-descriptivo
Luego, en GitHub, pulsa “Compare & pull request”, describe tu cambio y envíalo.¿Encontraste un dato incorrecto, un error o tienes una idea? Abre un Issue: GitHub → pestaña Issues → New issue → describe con detalle (municipio, pregunta o pantalla afectada, y qué esperabas).
Agradecemos al LABNL - Lab Cultural Ciudadano por su impulso y colaboración en este proyecto.
Ubicado en Calle Washington #648, Centro, C.P. 64000 Monterrey, Nuevo León.
Redes sociales:
Refleja is released under the MIT License.
Se prueba, compila y despliega desde la Computadora (Debian) con dev (empieza con dev contexto): los comandos de este repo están en el bloque «Flujo de trabajo» de AGENTS.md y la guía completa en ~/git/Personal/sistema.fernandodilland/docs/desarrollo/README.md (repo fernandodilland/sistema).