Sobre el proyecto
BikeBuddy es una aplicación web personal de registro de recorridos. Su propósito declarado es sencillo: tu viaje, tus rutas, tus recuerdos. Los ciclistas suben trazas GPX exportadas de cualquier recorrido, ya sea en bicicleta o motocicleta, y la aplicación las representa como rutas en un mapa. Se pueden adjuntar fotos a los tours, convirtiendo los datos brutos de la traza en un registro con imágenes.
Lo que proporciona el repositorio
El README describe un front end servido como contenido estático desde GitHub Pages, combinado con un backend serverless en Azure Functions v4. La persistencia utiliza Cosmos DB, y se espera que los archivos multimedia, como las fotos, residan en Blob Storage, basándose en las insignias tecnológicas mostradas. Se requiere Node.js 24 o posterior. Una captura de pantalla en la documentación muestra una vista de mapa con rutas de viaje junto a una barra lateral de tours.
Los mapas se dibujan con Leaflet y la validación se gestiona con Zod. El stack es JavaScript y TypeScript en su totalidad.
Primeros pasos
Todos los scripts auxiliares se ejecutan a través de un único punto de entrada: ejecute el script de shell buddy.sh seguido de un grupo y un comando. El flag de ayuda enumera todo lo disponible. Dos comandos documentados cubren la ruta común: un comando de configuración de desarrollo que instala herramientas y plantillas de configuración, y un comando start-all de desarrollo que levanta todo el stack local en el puerto 4280 de localhost. Docker debe estar en ejecución para la configuración.
Documentación
La documentación completa se encuentra en la carpeta docs, organizada según el marco Diátaxis:
- Tutorial: una guía paso a paso para comenzar.
- Guías How-to: una guía de usuario y una guía de desarrollador que cubren el desarrollo local, la autenticación y los tokens, y el despliegue, además de una guía independiente de infraestructura.
- Referencia: páginas de arquitectura y configuración.
- Explicación: decisiones de diseño y un informe de costes.
Una guía de contribución documenta las convenciones para colaboradores y se referencia desde el README.
Infraestructura y herramientas
La infraestructura se describe como código gestionado con OpenTofu, y el proyecto tiene a Azure como su proveedor de nube. El despliegue de la parte estática se realiza a través de GitHub Pages, con flujos de trabajo que se ejecutan en GitHub Actions.
Herramientas de calidad y seguridad visibles en las insignias del README:
- ESLint y Prettier para linting y formateo.
- Vitest para pruebas unitarias, con cobertura reportada a través de Codecov.
- Playwright para pruebas end-to-end, según el mapa tecnológico.
- Stryker para pruebas de mutación, con un informe de panel público.
- OpenGrep para pruebas de seguridad de aplicaciones estáticas, zizmor para el endurecimiento de GitHub Actions y escaneo de código con CodeQL.
- Hooks de pre-commit para comprobaciones locales.
- Una insignia de flujo de trabajo de puerta que indica una puerta de calidad de CI.
Licencia y estado del proyecto
El proyecto se publica bajo la licencia MIT. El README enlaza a una insignia de último commit que indica actividad reciente, pero no se hacen afirmaciones aquí sobre la madurez del lanzamiento, los requisitos de alojamiento más allá de los documentados o las características de rendimiento.
A quién puede interesar
A alguien que desee un registro autogestionado de sus recorridos, con visualización de mapas y adjunto de fotos, y que se sienta cómodo desplegando un stack respaldado por Azure o ejecutando el entorno de desarrollo local basado en Docker documentado. Los desarrolladores que busquen un ejemplo práctico de un front end estático más Azure Functions y Cosmos DB, con una cadena de herramientas de seguridad y pruebas extensa, también pueden encontrar el repositorio útil como referencia.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.