<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kevin Hernández Rostrán</title>
    <description>The latest articles on DEV Community by Kevin Hernández Rostrán (@kevinah95).</description>
    <link>https://dev.to/kevinah95</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F88631%2F76261dc8-2fee-4f43-8c5f-e7c72a90c435.jpeg</url>
      <title>DEV Community: Kevin Hernández Rostrán</title>
      <link>https://dev.to/kevinah95</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kevinah95"/>
    <language>en</language>
    <item>
      <title>🇨🇷 Hecho en Costa Rica: Hacienda CLI</title>
      <dc:creator>Kevin Hernández Rostrán</dc:creator>
      <pubDate>Mon, 18 Dec 2023 21:24:21 +0000</pubDate>
      <link>https://dev.to/kevinah95/hecho-en-costa-rica-hacienda-cli-42fp</link>
      <guid>https://dev.to/kevinah95/hecho-en-costa-rica-hacienda-cli-42fp</guid>
      <description>&lt;p&gt;&lt;a href="https://kevinah95.github.io/hacienda" rel="noopener noreferrer"&gt;Hacienda CLI&lt;/a&gt; es una interfaz de línea de comandos que se conecta al API del Ministerio de Hacienda de Costa Rica.&lt;/p&gt;

&lt;p&gt;Fue creada para darle más visibilidad a las implementaciones de los desarrollos creados en el país.&lt;/p&gt;

&lt;p&gt;Es parte de un movimiento llamado &lt;strong&gt;#HechoEnCostaRica 🇨🇷&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;La inspiración proviene de APIs publicados en &lt;a href="https://apis.gometa.org" rel="noopener noreferrer"&gt;gometa.org&lt;/a&gt; y el &lt;a href="https://api.hacienda.go.cr/status" rel="noopener noreferrer"&gt;API&lt;/a&gt; del Ministerio de Hacienda de Costa Rica.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F17vmyhgf0utkwrcnyrap.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F17vmyhgf0utkwrcnyrap.gif" alt="Ejemplo de Hacienda CLI"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Historia
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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 &lt;em&gt;Fundamentos de Programación&lt;/em&gt;. La directora muy amable me brindó el espacio y en conjunto con la Municipalidad de San José, logramos certificar a los estudiantes en Python 🐍. &lt;em&gt;¡Fue un gran éxito!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjyjkdht8pbb5qg8u2ns.jpeg" class="article-body-image-wrapper"&gt;&lt;img alt="Regalo de los estudiantes" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjyjkdht8pbb5qg8u2ns.jpeg"&gt;&lt;/a&gt;&lt;br&gt;Los estudiantes de la biblioteca me regalaron una alcancía muy similar a mí. Fue muy bonito.
  &lt;/p&gt;

&lt;p&gt;Siempre he deseado crear una &lt;a href="https://opensource.guide/es/building-community" rel="noopener noreferrer"&gt;comunidad open source&lt;/a&gt;. 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 &lt;a href="https://opensource.guide/es/" rel="noopener noreferrer"&gt;Guías de código abierto&lt;/a&gt; que &lt;em&gt;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&lt;/em&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  ¿Cómo nace Hacienda CLI?
&lt;/h3&gt;

&lt;p&gt;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í.&lt;/p&gt;

&lt;p&gt;En este proceso me di cuenta que la Comunidad de Software Libre en Costa Rica (CRLibre) creó un &lt;a href="https://crlibre.org/factura-electronica/" rel="noopener noreferrer"&gt;API abierto&lt;/a&gt; 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 &lt;a href="https://www.hacienda.go.cr" rel="noopener noreferrer"&gt;Hacienda&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;El asunto es que está escrito en PHP 🫠. Necesitaba comprender su uso y contrucción. Así es como llegué a &lt;a href="https://apis.gometa.org" rel="noopener noreferrer"&gt;APIs gometa.org&lt;/a&gt; creado y mantenido por Moritz von Schweinitz (&lt;a href="https://github.com/schweini" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/moritz-von-schweinitz-79832086/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;). Al estudiar estas APIs me llevaron al &lt;a href="https://api.hacienda.go.cr/status" rel="noopener noreferrer"&gt;API oficial de Hacienda&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;En el status del API oficial de Hacienda se encuentra su &lt;a href="https://bit.ly/2McNcpX" rel="noopener noreferrer"&gt;especificación&lt;/a&gt;. Con esta especificación es que se contruye &lt;a href="https://kevinah95.github.io/hacienda/" rel="noopener noreferrer"&gt;Hacienda CLI&lt;/a&gt;. Este proyecto es parte de mi aprendizaje para &lt;a href="https://go.dev" rel="noopener noreferrer"&gt;Go&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lecciones aprendidas
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Este proyecto me enseño a estar más cerca de la comunidad &lt;a href="https://www.gnu.org/philosophy/floss-and-foss.en.html" rel="noopener noreferrer"&gt;FLOSS&lt;/a&gt; (Free/Libre Open Source Software).&lt;/li&gt;
&lt;li&gt;Aprendí más sobre la importancia de: &lt;a href="https://opensource.guide/es/starting-a-project/#escribiendo-un-readme" rel="noopener noreferrer"&gt;README.md&lt;/a&gt;, &lt;a href="https://opensource.org/licenses/" rel="noopener noreferrer"&gt;LICENSE&lt;/a&gt;, &lt;a href="https://opensource.guide/es/starting-a-project/#escribiendo-las-pautas-para-contribuir" rel="noopener noreferrer"&gt;CONTRIBUTING.md&lt;/a&gt; y &lt;a href="https://opensource.guide/es/starting-a-project/#estableciendo-un-c%C3%B3digo-de-conducta" rel="noopener noreferrer"&gt;CODE_OF_CONDUCT.md&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Publicar en diferentes plataformas: MacOS 🍏, Linux 🐧, Windows 🪟.&lt;/li&gt;
&lt;li&gt;Utilizar &lt;a href="https://github.com/kevinah95/hacienda/tree/main/.github/workflows" rel="noopener noreferrer"&gt;GitHub Action&lt;/a&gt; para los releases.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ¿Qué usa Hacienda CLI?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://github.com/googleapis/release-please" rel="noopener noreferrer"&gt;release-please&lt;/a&gt;&lt;/strong&gt; para automatizar la generación de versiones de acuerdo con &lt;a href="https://www.conventionalcommits.org/es/v1.0.0/" rel="noopener noreferrer"&gt;Commits Convencionales&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://github.com/goreleaser/goreleaser" rel="noopener noreferrer"&gt;GoReleaser&lt;/a&gt;&lt;/strong&gt; para generar binarios Go de la forma más rápida y sencilla posible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://github.com/sigstore/cosign" rel="noopener noreferrer"&gt;Cosign&lt;/a&gt;&lt;/strong&gt; para firmar los archivos binarios.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://squidfunk.github.io/mkdocs-material/" rel="noopener noreferrer"&gt;Material para MkDocs&lt;/a&gt;&lt;/strong&gt; para generar la página de documentación.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://cobra.dev/" rel="noopener noreferrer"&gt;Cobra&lt;/a&gt;&lt;/strong&gt; Framework para crear aplicaciones CLI en Go.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;— &lt;em&gt;&lt;a href="https://github.com/kevinah95" rel="noopener noreferrer"&gt;Kevin Hernández R&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Recuerda:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;No olvides seguir el Hashtag #HechoEnCostaRica.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Deja una estrella en el &lt;a href="https://github.com/kevinah95/hacienda" rel="noopener noreferrer"&gt;repositorio&lt;/a&gt; de Hacienda.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Además, puedes seguirme en &lt;a href="https://github.com/kevinah95" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;, &lt;a href="https://twitter.com/kevinah95" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/kevinah95" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; o &lt;a href="https://dribbble.com/kevinah95" rel="noopener noreferrer"&gt;Dribble&lt;/a&gt;.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>hechoencostarica</category>
      <category>opensource</category>
      <category>costarica</category>
      <category>go</category>
    </item>
  </channel>
</rss>
