Skip to content

matiasbontempo/ratoneando-go

Repository files navigation

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.

About

API de comparación de precios de supermercados para Argentina

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages