1. Introducción
Esta documentación describe la estructura y funcionalidad del backend de la aplicación, que se basa en Node.js y utiliza Express para manejar las solicitudes HTTP. El backend incluye un servicio de scraping que permite obtener imágenes de productos desde una URL proporcionada.
2. Estructura del Proyecto
- /scraper.js: Archivo principal que contiene la lógica del servidor y las rutas para el scraping de imágenes.
3. Dependencias
- FastAPI: Framework para trabajar el backend
- Express: Framework para construir aplicaciones web en Node.js.
- Axios: Cliente HTTP para realizar solicitudes a otras APIs.
- Cheerio: Biblioteca para manipular y analizar HTML en el servidor.
- Cors: Middleware para habilitar CORS (Cross-Origin Resource Sharing).
4. Configuración del Servidor
- Puerto: El servidor se ejecuta en el puerto 3000 y el backend se ejecuta en el puerto 8000.
- CORS: Se habilita CORS para permitir solicitudes desde diferentes orígenes.
Javascript: const PORT = 3000; app.use(cors());
5. Rutas
5.1. GET /api/scrape-image:
Descripción: Esta ruta permite obtener la primera imagen de un producto desde una URL proporcionada.
Parámetros de Consulta: URL de la página web de la que se desea extraer la imagen.
Respuestas: 200 OK: Devuelve un objeto JSON con la URL de la imagen. (¨{"imageUrl": "https://example.com/image.jpg"}) 400 Bad Request: Si no se proporciona la URL. (Missing URL) 404 Not Found: Si no se encuentra ninguna imagen en la página. (No image found) 500 Internal Server Error: Si ocurre un error durante el scraping. (Scraping failed) 5.2 PUT /producto/:
Descripción: Este metodos permite que al enviarle un string url de una imagen jpg o png se devuelve las coincidencias con la base de datos de inditex mediante su API y tambien hace una peticion a la web de la aplicacion de inditex creada para renovar el token de permiso para usar la api de inditex
Parámetros de Consulta: URL de la imagen de la que quieres sacar coincidencias mediante query y tambien admite el numero de paginas y elementos por pagina
Respuestas: 200 OK: Devuelve un array de JSONs con los datos de los productos . 400 Bad Request: Si no se proporciona la URL. (Missing)
6. Ejemplo de Uso
Para utilizar el servicio de scraping, se puede realizar una solicitud GET a la ruta /api/scrape-image con el parámetro url. Por ejemplo:
(bash:
GET http://localhost:3000/api/scrape-image?url=https://example.com/product-page)
PUT /producto/?image=https://res.cloudinary.com/dzvkyrjah/image/upload/v1746341251/zp6thce5wqfygkkbqlqa.jpg&page=1&perPage=5 HTTP/1.1
7. Ejecución del Servidor
Para ejecutar el servidor, asegúrate de tener Node.js instalado y ejecuta el siguiente comando en la terminal:
(bash:
node scraper.js)
El servidor estará disponible en http://localhost:4200.
El backend estara disponible en "http://127.0.0.1:8000"
dentro de la carpeta backend se deberia hacer: $uvicorn main:app --reload dentro de la carpeta frontend se deberia hacer: $ng serve cada uno para iniciar los servicios necesarios correspondientes
8. Conclusión
Esta web admite una foto del usuario y mediante la api de inditex se envian productos similares a esta imagen con su informacion en formato JSON

Log in or sign up for Devpost to join the conversation.