API de comparación de precios de supermercados utilizada en https://ratoneando.ar 🐀
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.
git clone git@github.com:matiasbontempo/ratoneando-go.git
cd ratoneando-go
go mod downloadSi querés usar Air para una mejor experiencia de desarrollo:
go install github.com/air-verse/air@latest
air initcp .env.example .envgo run main.goSi estás usando Air:
air- 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
go test ./...Si te interesa dar una mano, consultá la Guía de Contribución y el Código de Conducta.
Este proyecto está licenciado bajo la Licencia MIT. Revisá la licencia para más información.

