6cc326e8acd5668b33758fed13ac67e177e00a09
- scripts/lib/env.sh: modelo OOP. Env (aggregate root) compone las entidades SystemdUnit, NginxVhost y TlsCert, más servicios estáticos (Slug, Host, Port, Artifacts, Deps, Logger). Instancias = arrays asociativos globales accedidos vía nameref (local -n); la composición vive en Env::new. - deploy.sh / teardown.sh: pasan a ser entrypoints finos (~33 líneas) que sourcean lib/env.sh. Comparten una única fuente de verdad para "qué es un entorno", eliminando la duplicación de slugify y el regex de vhost. - Comportamiento idéntico al procedural: heredocs de systemd/nginx son byte-idénticos; orquestación de deploy y teardown verificados end-to-end. Requiere bash >= 4.3 (namerefs), ya cubierto en el host runner.
Business Map
Registro colaborativo de negocios, en un mapa abierto.
Prototipo open source mantenido por [ORGANIZACIÓN]. Cualquiera puede ver los negocios registrados y proponer nuevos; las propuestas son revisadas antes de aparecer públicamente.
Demo local
npm install
npm run dev
Abre la URL que indique Vite (normalmente http://localhost:5173).
Stack
- React 18 + Vite
- Leaflet + OpenStreetMap (mapa)
- CSS plano
Sin backend en el prototipo: los datos vienen de un mock en memoria. Ver
docs/02-implementation-alternatives.md para la decisión de backend.
Documentación
docs/01-use-cases.md– qué hace y qué no.docs/02-implementation-alternatives.md– decisiones técnicas.docs/03-decisions.md– ADRs.docs/04-governance.md– cómo se gobierna el proyecto.docs/05-contributing.md– cómo contribuir.docs/06-github-setup.md– configuración inicial del repo.docs/07-cicd.md– CI/CD: despliegue por rama en<rama>.localesp.es.
Licencia
MIT. Ver LICENSE.
Languages
JavaScript
43.4%
Shell
39.9%
CSS
15.5%
HTML
1.2%