Comparador de Precios de Supermercado

Descripción del proyecto
La idea de este proyecto era desarrollar una herramienta que me permitiera comparar los precios de los productos en distintos supermercados que tengo disponibles en mi día a día. Para ello, se ha utilizado web scraping con Python para extraer los datos de diferentes tiendas online y almacenarlos en una base de datos. Posteriormente, estos datos se presentan de manera clara y accesible a través de una interfaz web optimizada.
Este proyecto cuenta con un diseño responsive, lo que permite una visualización óptima tanto en dispositivos móviles como en ordenadores.
Los supermercados de los que se han extraído datos son: Carrefour, Mercadona y Lidl.
Tecnologías involucradas
Este proyecto se divide en dos partes principales: Backend y Frontend.
Backend
Para la parte del Backend, he desarrollado un script en Python utilizando diversas librerías de web scraping, como BeautifulSoup y Playwright, para extraer los datos de los productos y sus precios desde los sitios web o APIs de los supermercados.
Los datos obtenidos se almacenan en una base de datos PostgreSQL, alojada en Neon, un servicio en la nube que permite gestionar bases de datos de forma sencilla y eficiente. Esto facilita la consulta de los precios en tiempo real desde el Frontend.
Frontend
Para la parte del Frontend, he integrado el proyecto en mi propia página web, desarrollada con Astro y TypeScript. El sitio permite a los usuarios buscar productos y visualizar los precios actualizados en diferentes supermercados, gracias a una conexión en tiempo real con la base de datos.
El uso de Astro ha permitido optimizar la velocidad de carga del sitio, utilizando Server Side Rendering (SSR) para obtener los datos dinámicamente desde la base de datos y ofrecer una experiencia fluida y eficiente.