🇨🇷 Hecho en Costa Rica: Hacienda CLI - 18/12/2023
🇨🇷 Hacienda es una aplicación que se conecta al API del Ministerio de Hacienda de Costa Rica.
Hacienda CLI es una interfaz de línea de comandos que se conecta al API del Ministerio de Hacienda de Costa Rica.
Fue creada para darle más visibilidad a las implementaciones de los desarrollos creados en el país.
Es parte de un movimiento llamado #HechoEnCostaRica 🇨🇷.
La inspiración proviene de APIs publicados en gometa.org y el API del Ministerio de Hacienda de Costa Rica.
Historia
En Septiembre del año pasado, la empresa en la que me encontraba cerró 🥲, por todo el asunto de la pandemia. Entonces pasé un año sin trabajo. Gracias a Dios pude dar clases en la universidad y no saben lo que me fascina la enseñanza. Un sueño cumplido. Esto produjo un gran deseo de contribuír en a la comunidad.
De hecho, tuve la oportunidad de enseñar a jóvenes de la comunidad donde crecí, de mi barrio en Finca San Juan de Pavas. Le pedí a la directora (doña Yinnette Cháves) de la Biblioteca Carmen Lyra un espacio para dar clases de Fundamentos de Programación. La directora muy amable me brindó el espacio y en conjunto con la Municipalidad de San José, logramos certificar a los estudiantes en Python 🐍. ¡Fue un gran éxito!
Siempre he deseado crear una comunidad open source. Y recuerdo hace mucho tiempo que empecé a leer sobre este nuevo mundo (para mí). De hecho, varios miembros de la comunidad en GitHub, escribieron las Guías de código abierto que son una colección de recursos para individuos, comunidades y empresas que quieran aprender a dirigir y contribuir a un proyecto de código abierto.
¿Cómo nace Hacienda CLI?
Al ser profesor universitario tuve que generar facturas con el facturador electrónico gratuito del Ministerio de Hacienda de Costa Rica. Es un poco complejo entrar en este mundo por cuenta propia (porque puedes contratar a un contador que te ayude en el tema). A la fecha he logrado realizar 12 facturas que es un buen logro. Tuve que hacer una nota de crédito porque los datos estaban mal 🥲, pero aprendí.
En este proceso me di cuenta que la Comunidad de Software Libre en Costa Rica (CRLibre) creó un API abierto donde explican detalladamente el proceso de facturación, firma de documentos y flujos que se deben de seguir para implementar el API y conectarse con Hacienda.
El asunto es que está escrito en PHP 🫠. Necesitaba comprender su uso y contrucción. Así es como llegué a APIs gometa.org creado y mantenido por Moritz von Schweinitz (GitHub, LinkedIn). Al estudiar estas APIs me llevaron al API oficial de Hacienda.
En el status del API oficial de Hacienda se encuentra su especificación. Con esta especificación es que se contruye Hacienda CLI. Este proyecto es parte de mi aprendizaje para Go.
Lecciones aprendidas
- Este proyecto me enseño a estar más cerca de la comunidad FLOSS (Free/Libre Open Source Software).
- Aprendí más sobre la importancia de: README.md, LICENSE, CONTRIBUTING.md y CODE_OF_CONDUCT.md.
- Publicar en diferentes plataformas: MacOS 🍏, Linux 🐧, Windows 🪟.
- Utilizar GitHub Action para los releases.
¿Qué usa Hacienda CLI?
- release-please para automatizar la generación de versiones de acuerdo con Commits Convencionales.
- GoReleaser para generar binarios Go de la forma más rápida y sencilla posible.
- Cosign para firmar los archivos binarios.
- Material para MkDocs para generar la página de documentación.
- Cobra Framework para crear aplicaciones CLI en Go.
Recuerda:
- No olvides seguir el Hashtag #HechoEnCostaRica.
- Deja una estrella en el repositorio de Hacienda.
- Además, puedes seguirme en GitHub, Twitter, LinkedIn o Dribble.