Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

Bird-of-the-day

Generador de sitio web estático diario sobre aves con feed RSS. Usa Python 3.12+, uv para gestión de dependencias, sin base de datos. Scraping de Cornell Lab, eBird API y Wikimedia. Despliegue Docker o GitHub Pages.

Ficha actualizada 26 sept 2026, 11:47 · upstream 26 sept 2026, 11:39 · release v2.1.0

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es Bird-of-the-day

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Bird-of-the-day es una aplicación Python que genera diariamente un sitio web estático sobre especies de aves seleccionadas aleatoriamente de pools regionales configurables. Cada ejecución scrapea información de fuentes públicas del Cornell Lab of Ornithology, incluyendo descripciones taxonómicas y fotografías del Macaulay Library, generando contenido en inglés, español, francés o portugués.

El sistema utiliza un enfoque sin base de datos: el historial de publicaciones se almacena en history.json, las cachés de scrapes en cache/, y los mapas compuestos en maps/. La arquitectura es minimalista con renderizado del lado del servidor, sin frameworks JavaScript ni pasos de build. Incluye opcionalmente enriquecimiento con LLMs para generar prosa narrativa cuando se configura un endpoint compatible con OpenAI.

El despliegue soporta Docker con imágenes publicadas en ghcr.io y GitHub Actions para CI/CD. El sitio produce páginas estáticas, feeds RSS 2.0 completos y sitemap.xml. No utiliza cookies ni analytics; el único estado del lado del cliente es la preferencia de tema en localStorage bajo la excepción de preferencias funcionales estrictas.

CASOS DE USO
  • Autohospedaje de un sitio web informativo sobre aves con contenido diario fresco
  • Generación de feeds RSS para agregadores de noticias o lectores como Feedly
  • Plantilla reutilizable para proyectos de divulgación científica o conservación ambiental
  • Despliegue en GitHub Pages como proyecto open source educativo sin servidor
PUNTOS DESTACADOS
  • Sin base de datos: todo el estado persiste en archivos JSON locales, reduciendo complejidad operativa
  • Multiidioma nativo con catálogos en inglés, español, francés y portugués bajo data/i18n/
  • Enriquecimiento opcional con LLMs que intenta múltiples modelos hasta encontrar uno funcional
  • Sin cookies ni trackers; único estado del lado del cliente es localStorage para preferencia de tema
  • Dockerizado con imagen oficial en ghcr.io y workflow de publicación automatizado
  • Licencias claras: MIT para el software, respetando licencias CC BY-SA 3.0 de Wikipedia y Creative Commons de Wikimedia
PRECAUCIONES
  • Dependencia de APIs externas (eBird API requiere key gratuita; Cornell Lab tiene bot gate desde septiembre 2026)
  • Sin base de datos implica que history.json debe gestionarse manualmente para reinicios o limpieza
  • El enriquecimiento con LLMs es opcional y añade latencia si se activa sin endpoint OpenAI configurado
  • Requiere Python 3.12+ y uv instalado; no funciona nativamente en entornos sin estas herramientas
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Listo para automatizar

Despliega en Docker usando la imagen de ghcr.io o construye localmente con docker build -t bird-of-the-day . Asegura que EBIRD_API_KEY esté en .env. Para GitHub Pages, configura el workflow de CI para publicar en la rama gh-pages. Usa volumen mount para persistir history.json y cache/ si es necesario. El sitio se regenera automáticamente cada día; para forzar regeneración, vacía history.json. Requiere 2 núcleos CPU y 2GB RAM mínimo.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsPython
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
8080
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.