Skip to content

Latest commit

 

History

History
81 lines (55 loc) · 2.02 KB

README.md

File metadata and controls

81 lines (55 loc) · 2.02 KB

ratoneando-go

Ratoneando Logo

API de comparación de precios de supermercados utilizada en https://ratoneando.ar 🐀

Motivación

Este proyecto fué creado originalmente en Node.js y Fastify, pero decidí reescribirlo en Go para usarlo como una oportunidad de aprendizaje. Por este motivo, la calidad del código puede no ser la mejor.

A pesar de eso, el rendimiento de la API es significativamente mejor que la versión en Node.js.

screenshot 🟡 Node 🔴 Go

Pre-requisitos

Instalación

git clone [email protected]:matiasbontempo/ratoneando-go.git
cd ratoneando-go
go mod download

Si querés usar Air para una mejor experiencia de desarrollo:

go install github.com/air-verse/air@latest
air init

Configuración

cp .env.example .env

Ejecución

go run main.go

Si estás usando Air:

air

Estrucutra del proyecto

  • main.go: Punto de entrada de la aplicación
  • /config: Expone las variables de entorno
  • /controllers: Controladores de la aplicación
  • /cores: Núcleos de scraping reutilizables
  • /middlewares: Middlewares para GIN
  • /products: Modelos y utilidades de productos
  • /routes: Rutas de la API
  • /scrapers: Scrapers de los distintos supermercados
  • /units: Utilidades para el procesamiento de unidades
  • /utils: Utilidades generales

Tests

go test ./...

Contribuir

Si te interesa dar una mano, consultá la Guía de Contribución y el Código de Conducta.

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Revisá la licencia para más información.