diff --git a/bak/baxk1.js b/bak/baxk1.js
deleted file mode 100644
index 06ae3c0..0000000
--- a/bak/baxk1.js
+++ /dev/null
@@ -1,84 +0,0 @@
-// utils/filterProperties.js
-import Fuse from 'fuse.js';
-
-export const filterSimilarProperties = (properties) => {
- const options = {
- keys: ['dataValues.title'], // Buscamos similitud en el título dentro de dataValues
- threshold: 0.6, // 0.6 es un umbral para 40% de similitud
- includeScore: true // Incluye la puntuación de similitud
- };
-
- const fuse = new Fuse(properties, options);
- const uniqueProperties = [];
- const seen = new Set(); // Usaremos un conjunto para rastrear propiedades vistas
-
- properties.forEach((property) => {
- const propertyData = property.dataValues;
-
- if (!seen.has(propertyData.id)) {
- // Inicializa el array para IDs similares en dataValues
- propertyData.similarIds = [];
-
- // Buscamos propiedades similares por título
- const result = fuse.search(propertyData.title).filter((res) => {
- const similarProperty = res.item.dataValues;
- // Filtramos resultados que no sean la misma propiedad y sean similares en título
- const isSimilar = res.item.dataValues.id !== propertyData.id && res.score < options.threshold;
-
- if (isSimilar) {
- propertyData.similarIds.push(similarProperty.id);
-
- // Enriquecer la propiedad actual con datos de la propiedad similar
- propertyData.title = getLongest(propertyData.title, similarProperty.title);
- propertyData.url = propertyData.url || similarProperty.url;
- propertyData.price = propertyData.price || similarProperty.price;
- propertyData.rooms = propertyData.rooms || similarProperty.rooms;
- propertyData.area = propertyData.area || similarProperty.area;
- propertyData.level = propertyData.level || similarProperty.level;
- propertyData.description = getLongest(propertyData.description, similarProperty.description);
- propertyData.pic = propertyData.pic || similarProperty.pic;
- propertyData.baths = propertyData.baths || similarProperty.baths;
- propertyData.neighborhood = propertyData.neighborhood || similarProperty.neighborhood;
- propertyData.phone = propertyData.phone || similarProperty.phone;
-
- // Marcar la propiedad similar como vista
- seen.add(similarProperty.id);
- }
-
- return isSimilar;
- });
-
- // Comprobamos coincidencia exacta en price, rooms y area
- const matchingProperties = result.filter((res) => {
- const similarProperty = res.item.dataValues;
- return (
- similarProperty.price === propertyData.price &&
- (similarProperty.rooms === propertyData.rooms ||
- similarProperty.area === propertyData.area)
- );
- });
-
- if (matchingProperties.length === 0) {
- uniqueProperties.push(property);
- }
-
- // Añadir los IDs de propiedades similares al array similarIds y marcarlas como vistas
- matchingProperties.forEach((res) => {
- const similarProperty = res.item.dataValues;
- propertyData.similarIds.push(similarProperty.id);
- seen.add(similarProperty.id);
- });
-
- // Añadir la propiedad actual como vista
- seen.add(propertyData.id);
- }
- });
-
- return uniqueProperties;
-};
-
-const getLongest = (a, b) => {
- if (!a) return b;
- if (!b) return a;
- return a.length >= b.length ? a : b;
-};
\ No newline at end of file
diff --git a/bak/completePropertyData1.js b/bak/completePropertyData1.js
deleted file mode 100644
index 3758e30..0000000
--- a/bak/completePropertyData1.js
+++ /dev/null
@@ -1,57 +0,0 @@
-// utils/completePropertyData.js
-import Fuse from 'fuse.js';
-
-export const completePropertyData = (uniqueProperties, allProperties) => {
- // Creamos una copia de allProperties con sólo los dataValues
- const allDataValues = allProperties.map(prop => prop.dataValues);
-
- const options = {
- keys: ['title'], // Buscamos similitud en el título
- threshold: 0.6, // Umbral de similitud
- includeScore: true // Incluye la puntuación de similitud
- };
-
- const fuse = new Fuse(allDataValues, options);
-
- const enrichedProperties = uniqueProperties.map(property => {
- // Buscamos propiedades similares por título para completar datos
- const result = fuse.search(property.title).filter((res) => {
- // Filtramos resultados que no sean la misma propiedad y sean similares en título
- return res.item.id !== property.id && res.score < options.threshold;
- });
-
- // Combinamos las propiedades similares para completar datos
- let enrichedProperty = { ...property };
-
- result.forEach((res) => {
- const item = res.item;
- enrichedProperty = {
- ...enrichedProperty,
- title: getLongest(enrichedProperty.title, item.title),
- url: enrichedProperty.url || item.url,
- price: enrichedProperty.price || item.price,
- rooms: enrichedProperty.rooms || item.rooms,
- area: enrichedProperty.area || item.area,
- level: enrichedProperty.level || item.level,
- description: getLongest(enrichedProperty.description, item.description),
- pic: enrichedProperty.pic || item.pic,
- baths: enrichedProperty.baths || item.baths,
- neighborhood: enrichedProperty.neighborhood || item.neighborhood,
- phone: enrichedProperty.phone || item.phone,
- createdAt: enrichedProperty.createdAt || item.createdAt,
- updatedAt: enrichedProperty.updatedAt || item.updatedAt
- };
- });
-
- return enrichedProperty;
- });
-
- return enrichedProperties;
-};
-
-// Función auxiliar para obtener el texto más largo o el que no sea nulo
-const getLongest = (a, b) => {
- if (!a) return b;
- if (!b) return a;
- return a.length >= b.length ? a : b;
-};
diff --git a/bak/filterProperties copy.js b/bak/filterProperties copy.js
deleted file mode 100644
index e8c18c1..0000000
--- a/bak/filterProperties copy.js
+++ /dev/null
@@ -1,62 +0,0 @@
-// utils/filterProperties.js
-import Fuse from 'fuse.js';
-
-export const filterSimilarProperties = (properties) => {
- const options = {
- keys: ['title'], // Solo buscamos similitud en el título
- threshold: 0.6, // 0.6 es un umbral para 40% de similitud
- includeScore: true // Incluye la puntuación de similitud
- };
-
- const fuse = new Fuse(properties, options);
- const uniqueProperties = [];
- const seen = new Set(); // Usaremos un conjunto para rastrear propiedades vistas
-
- properties.forEach((property) => {
- const propertyData = property.dataValues;
- if (!seen.has(propertyData.id)) {
- // Inicializa el array para IDs similares en dataValues
- propertyData.similarIds = [];
-
- // Buscamos propiedades similares por título
- const result = fuse.search(propertyData.title).filter((res) => {
- const similarProperty = res.item.dataValues;
- // Filtramos resultados que no sean la misma propiedad y sean similares en título
- const isSimilar = res.item.dataValues.id !== propertyData.id && res.score < options.threshold;
-
- if (isSimilar) {
- propertyData.similarIds.push(similarProperty.id);
-
- // Enriquecer la propiedad actual con datos de la propiedad similar
- // propertyData.title = getLongest(propertyData.title, similarProperty.title);
- // propertyData.url = propertyData.url || similarProperty.url;
- // propertyData.price = propertyData.price || similarProperty.price;
- // propertyData.rooms = propertyData.rooms || similarProperty.rooms;
- // propertyData.area = propertyData.area || similarProperty.area;
- // propertyData.level = propertyData.level || similarProperty.level;
- // propertyData.description = getLongest(propertyData.description, similarProperty.description);
- // propertyData.pic = propertyData.pic || similarProperty.pic;
- // propertyData.baths = propertyData.baths || similarProperty.baths;
- // propertyData.neighborhood = propertyData.neighborhood || similarProperty.neighborhood;
- // propertyData.phone = propertyData.phone || similarProperty.phone;
-
- // Marcar la propiedad similar como vista
- //seen.add(similarProperty.id);
- }
-
- return isSimilar;
- });
-
- uniqueProperties.push(property);
- }
- });
-
- return uniqueProperties;
-};
-
-
-const getLongest = (a, b) => {
- if (!a) return b;
- if (!b) return a;
- return a.length >= b.length ? a : b;
-};
\ No newline at end of file
diff --git a/bak/filterProperties1.js b/bak/filterProperties1.js
deleted file mode 100644
index 067ee98..0000000
--- a/bak/filterProperties1.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// utils/filterProperties.js
-import Fuse from 'fuse.js';
-
-export const filterSimilarProperties = (properties) => {
- const options = {
- keys: ['title'], // Solo buscamos similitud en el título
- threshold: 0.6, // 0.6 es un umbral para 40% de similitud
- includeScore: true // Incluye la puntuación de similitud
- };
-
- const fuse = new Fuse(properties, options);
- const uniqueProperties = [];
- const seen = new Set(); // Usaremos un conjunto para rastrear propiedades vistas
-
- properties.forEach((property) => {
- if (!seen.has(property.id)) {
- // Buscamos propiedades similares por título
- const result = fuse.search(property.title).filter((res) => {
- // Filtramos resultados que no sean la misma propiedad y sean similares en título
- return res.item.id !== property.id && res.score < options.threshold;
- });
-
- // Comprobamos coincidencia exacta en price, rooms y area
- const matchingProperties = result.filter((res) => {
- const item = res.item;
- return (
- item.price === property.price &&
- (item.rooms === property.rooms ||
- item.area === property.area)
- );
- });
-
- if (matchingProperties.length === 0) {
- uniqueProperties.push(property);
- }
-
- // Marcar propiedades similares como vistas
- matchingProperties.forEach((res) => {
- seen.add(res.item.id);
- });
-
- // Añadir la propiedad actual como vista
- seen.add(property.id);
- }
- });
-
- return uniqueProperties;
-};
\ No newline at end of file
diff --git a/bak/filterProperties_bak.js b/bak/filterProperties_bak.js
deleted file mode 100644
index efff853..0000000
--- a/bak/filterProperties_bak.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// utils/filterProperties.js
-import Fuse from 'fuse.js';
-
-export const filterSimilarProperties = (properties) => {
- const options = {
- keys: ['title'], // Solo buscamos similitud en el título
- threshold: 0.6, // 0.6 es un umbral para 40% de similitud
- includeScore: true // Incluye la puntuación de similitud
- };
-
- const fuse = new Fuse(properties, options);
- const uniqueProperties = [];
- const seen = new Set(); // Usaremos un conjunto para rastrear propiedades vistas
-
- properties.forEach((property) => {
- if (!seen.has(property.id)) {
- // Buscamos propiedades similares por título
- const result = fuse.search(property.title).filter((res) => {
- // Filtramos resultados que no sean la misma propiedad y sean similares en título
- return res.item.id !== property.id && res.score < options.threshold;
- });
-
- // Comprobamos coincidencia exacta en price, rooms y area
- const matchingProperties = result.filter((res) => {
- const item = res.item;
- return (
- item.price === property.price &&
- (item.rooms === property.rooms ||
- item.area === property.area)
- );
- });
-
- if (matchingProperties.length === 0) {
- uniqueProperties.push(property);
- }
-
- // Marcar propiedades similares como vistas
- matchingProperties.forEach((res) => {
- seen.add(res.item.id);
- });
-
- // Añadir la propiedad actual como vista
- seen.add(property.id);
- }
- });
-
- return uniqueProperties;
-};
diff --git a/bak/fotocasaScraper.js b/bak/fotocasaScraper.js
deleted file mode 100644
index 0b04e28..0000000
--- a/bak/fotocasaScraper.js
+++ /dev/null
@@ -1,56 +0,0 @@
-import puppeteer from 'puppeteer';
-import Listing from '../../server/db/models/Listing';
-//import { notifyNewListing } from './telegramBot';
-
-export default async function scrapeFotocasa() {
- console.log('Starting Fotocasa scraping process');
-
- const browser = await puppeteer.launch({ headless: true, args: ['--no-sandbox'] });
- const page = await browser.newPage();
- await page.goto('https://www.fotocasa.es/es/comprar/viviendas/granada-capital/todas-las-zonas/l');
- const pageSourceHTML = await page.content();
- await browser.close();
- console.log('Navigated to Fotocasa',pageSourceHTML);
-
- try {
-
- const listings = await page.evaluate(() => {
- const results = [];
- document.querySelectorAll('.re-CardPackPremium').forEach((element) => {
- const title = element.querySelector('.re-CardTitle')?.innerText.trim();
- const priceText = element.querySelector('.re-CardPrice')?.innerText.trim();
- const price = parseFloat(priceText.replace(/[^\d]/g, ''));
- const location = title;
- const description = element.querySelector('.re-CardDescription-text')?.innerText.trim();
- const url = element.querySelector('a')?.href;
-
- if (title && price && location && description && url) {
- results.push({ title, price, location, description, url });
- }
- console.log(title, price, location, description, url);
- });
- return results;
- });
-
- console.log(`Found ${listings.length} listings`);
-
- for (const listingData of listings) {
- try {
- const listing = new Listing(listingData);
- //await listing.save();
- console.log(`Saved listing to database: ${listing.title}`);
-
- //await notifyNewListing(listing);
- console.log(`Sent notification for listing: ${listing.title}`);
- } catch (innerError) {
- console.error(`Error processing listing: ${innerError.message}`);
- }
- }
- } catch (error) {
- console.error('Error scraping Fotocasa:', error.message);
- throw new Error('Failed to scrape Fotocasa');
- } finally {
- await browser.close();
- console.log('Finished Fotocasa scraping process');
- }
-}
diff --git a/bak/habitacliaScraper.js b/bak/habitacliaScraper.js
deleted file mode 100644
index abd6b68..0000000
--- a/bak/habitacliaScraper.js
+++ /dev/null
@@ -1,76 +0,0 @@
-//import { notifyNewListing } from './telegramBot';
-
-// import Listing from '../../server/db/models/Listing';
-
-export default async function scrapeHabitaclia(puppeteer) {
- console.log("Starting Habitaclia scraping process");
-
- const url = 'https://idealista7.p.rapidapi.com/listhomes?order=relevance&operation=sale&locationId=0-EU-ES-28-07-001-079&locationName=Madrid&numPage=1&maxItems=40&location=es&locale=en';
- const options = {
- method: 'GET',
- headers: {
- 'x-rapidapi-key': '080e9362e4mshdbcf5473f82adb9p196205jsne6a02c4e6381',
- 'x-rapidapi-host': 'idealista7.p.rapidapi.com'
- }
- };
-
- try {
- const response = await fetch(url, options);
- const result = await response.text();
- console.log(result);
- } catch (error) {
- console.error(error);
- }
- // const browser = await puppeteer.launch({
- // headless: true,
- // args: [
- // '--no-sandbox' ,
- // '--disable-setuid-sandbox'
- // ]
- // });
- // const page = await browser.newPage();
-
- // console.log(puppeteer, browser);
- try {
- // await page.goto('https://www.habitaclia.com/viviendas-granada_ciudad.htm', {
- // waitUntil: 'networkidle2',
- // });
- // console.log('Navigated to Habitaclia');
- // const content = await page.content();
- // console.log(content);
- // await page.screenshot({ path: 'habitaclia_state.png', fullPage: true })
- // const listings = await page.evaluate(() => {
- // const results = [];
- // document.querySelectorAll('.list-item').forEach((element) => {
- // const title = element.querySelector('.list-item-title')?.innerText.trim();
- // const priceText = element.querySelector('.list-item-price')?.innerText.trim();
- // const price = parseFloat(priceText.replace(/[^\d]/g, ''));
- // const location = element.querySelector('.list-item-location')?.innerText.trim();
- // const description = element.querySelector('.list-item-description')?.innerText.trim();
- // const url = element.querySelector('.list-item-title a')?.href;
- // if (title && price && location && description && url) {
- // results.push({ title, price, location, description, url });
- // }
- // });
- // return results;
- // });
- // console.log(`Found ${listings.length} listings`);
- // for (const listingData of listings) {
- // try {
- // const listing = new Listing(listingData);
- // //await listing.save();
- // console.log(`Saved listing to database: ${listing.title}`);
- // //await notifyNewListing(listing);
- // console.log(`Sent notification for listing: ${listing.title}`);
- // } catch (innerError) {
- // console.error(`Error processing listing: ${innerError.message}`);
- // }
- // }
- } catch (error) {
- console.error("Error scraping Habitaclia:", error.message);
- throw new Error("Failed to scrape Habitaclia");
- } finally {
- await browser.close();
- console.log("Finished Habitaclia scraping process");
- }
-}
diff --git a/bak/index.cjs b/bak/index.cjs
deleted file mode 100644
index a973058..0000000
--- a/bak/index.cjs
+++ /dev/null
@@ -1,43 +0,0 @@
-'use strict';
-
-const fs = require('fs');
-const path = require('path');
-const Sequelize = require('sequelize');
-const process = require('process');
-const basename = path.basename(__filename);
-const env = process.env.NODE_ENV || 'development';
-const config = require(__dirname + '/../../../../config/sequelize.js')[env];
-const db = {};
-
-let sequelize;
-if (config.use_env_variable) {
- sequelize = new Sequelize(process.env[config.use_env_variable], config);
-} else {
- sequelize = new Sequelize(config.database, config.username, config.password, config);
-}
-
-fs
- .readdirSync(__dirname)
- .filter(file => {
- return (
- file.indexOf('.') !== 0 &&
- file !== basename &&
- file.slice(-3) === '.js' &&
- file.indexOf('.test.js') === -1
- );
- })
- .forEach(file => {
- const model = require(path.join(__dirname, file))(sequelize, Sequelize.DataTypes);
- db[model.name] = model;
- });
-
-Object.keys(db).forEach(modelName => {
- if (db[modelName].associate) {
- db[modelName].associate(db);
- }
-});
-
-db.sequelize = sequelize;
-db.Sequelize = Sequelize;
-
-module.exports = db;
diff --git a/bak/listings.ts b/bak/listings.ts
deleted file mode 100644
index 3cbb7a5..0000000
--- a/bak/listings.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-// import Listing from '../db/models/Listing';
-
-export default defineEventHandler(async () => {
- // return await Listing.find();
-});
diff --git a/bak/nitroPlugin.ts b/bak/nitroPlugin.ts
deleted file mode 100644
index 7e2a60b..0000000
--- a/bak/nitroPlugin.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-/* import {DEFAULT_INTERCEPT_RESOLUTION_PRIORITY} from 'puppeteer';
-import Puppeteer from 'puppeteer';
-import { addExtra } from 'puppeteer-extra';
-import StealthPlugin from "puppeteer-extra-plugin-stealth";
-import AdblockerPlugin from "puppeteer-extra-plugin-adblocker";
-
-import chromeApp from "puppeteer-extra-plugin-stealth/evasions/chrome.app";
-import chromeCsi from "puppeteer-extra-plugin-stealth/evasions/chrome.csi";
-import chromeLoadTimes from "puppeteer-extra-plugin-stealth/evasions/chrome.loadTimes";
-import chromeRuntime from "puppeteer-extra-plugin-stealth/evasions/chrome.runtime";
-import defaultArgs from "puppeteer-extra-plugin-stealth/evasions/defaultArgs";
-import iframeContentWindow from "puppeteer-extra-plugin-stealth/evasions/iframe.contentWindow";
-import mediaCodecs from "puppeteer-extra-plugin-stealth/evasions/media.codecs";
-import navigatorHardwareConcurrency from "puppeteer-extra-plugin-stealth/evasions/navigator.hardwareConcurrency";
-import navigatorLanguages from "puppeteer-extra-plugin-stealth/evasions/navigator.languages";
-import navigatorPermissions from "puppeteer-extra-plugin-stealth/evasions/navigator.permissions";
-import navigatorPlugins from "puppeteer-extra-plugin-stealth/evasions/navigator.plugins";
-import navigatorVendor from "puppeteer-extra-plugin-stealth/evasions/navigator.vendor";
-import navigatorWebdriver from "puppeteer-extra-plugin-stealth/evasions/navigator.webdriver";
-import sourceUrl from "puppeteer-extra-plugin-stealth/evasions/sourceurl";
-import userAgentOverride from "puppeteer-extra-plugin-stealth/evasions/user-agent-override";
-import webglVendor from "puppeteer-extra-plugin-stealth/evasions/webgl.vendor";
-import windowOuterDimensions from "puppeteer-extra-plugin-stealth/evasions/window.outerdimensions";
-
-export default defineNitroPlugin((nitroApp) => {
- console.log("Loading puppeteer plugin...");
- const puppeteer = addExtra(Puppeteer);
- const stealth = StealthPlugin();
- configureEvasions(stealth);
- puppeteer.use(stealth);
-
- puppeteer.use(
- AdblockerPlugin({
- // Optionally enable Cooperative Mode for several request interceptors
- interceptResolutionPriority: DEFAULT_INTERCEPT_RESOLUTION_PRIORITY
- })
- )
-
- nitroApp.hooks.hook("request", (event) => {
- event.context.$puppeteer = puppeteer;
- });
-});
-
-
-// Configurar evasiones
-const configureEvasions = (stealth) => {
- // Clear existing evasions
- stealth.enabledEvasions.clear();
-
- // Add evasions explicitly
- stealth.enabledEvasions.add(chromeApp);
- stealth.enabledEvasions.add(chromeCsi);
- stealth.enabledEvasions.add(chromeLoadTimes);
- stealth.enabledEvasions.add(chromeRuntime);
- stealth.enabledEvasions.add(defaultArgs);
- stealth.enabledEvasions.add(iframeContentWindow);
- stealth.enabledEvasions.add(mediaCodecs);
- stealth.enabledEvasions.add(navigatorHardwareConcurrency);
- stealth.enabledEvasions.add(navigatorLanguages);
- stealth.enabledEvasions.add(navigatorPermissions);
- stealth.enabledEvasions.add(navigatorPlugins);
- stealth.enabledEvasions.add(navigatorVendor);
- stealth.enabledEvasions.add(navigatorWebdriver);
- stealth.enabledEvasions.add(sourceUrl);
- stealth.enabledEvasions.add(userAgentOverride);
- stealth.enabledEvasions.add(webglVendor);
- stealth.enabledEvasions.add(windowOuterDimensions);
-}; */
\ No newline at end of file
diff --git a/bak/pisoscomScraper.js b/bak/pisoscomScraper.js
deleted file mode 100644
index e5ead7e..0000000
--- a/bak/pisoscomScraper.js
+++ /dev/null
@@ -1,55 +0,0 @@
-import puppeteer from 'puppeteer';
-import Listing from '../../server/db/models/Listing';
-//import { notifyNewListing } from './telegramBot';
-
-export default async function scrapePisoscom() {
- console.log('Starting Pisos.com scraping process');
-
- const browser = await puppeteer.launch({ headless: true, args: ['--no-sandbox'] });
- const page = await browser.newPage();
-
- try {
- await page.goto('https://www.pisos.com/venta/pisos-area_de_granada_granada_capital/', {
- waitUntil: 'networkidle2',
- });
- console.log('Navigated to Pisos.com');
-
- const listings = await page.evaluate(() => {
- const results = [];
- document.querySelectorAll('.ad-preview').forEach((element) => {
- const title = element.querySelector('.ad-preview__title').innerText.trim();
- const priceText = element.querySelector('.ad-preview__price').innerText.trim();
- const price = parseFloat(priceText.replace(/[^\d]/g, ''));
- const location = element.querySelector('.ad-preview__subtitle').innerText.trim();
- const description = element.querySelector('.ad-preview__description').innerText.trim();
- const phone = element.querySelector('.contact-box__phone').getAttribute('data-number');
- const url = element.getAttribute('data-lnk-href');
- if (title && price && location && description && url) {
- results.push({ title, price, location, description, url, phone });
- }
- });
- return results;
- });
-
- console.log(`Found ${listings.length} listings. Listing data: ${JSON.stringify(listings)}`);
-
- for (const listingData of listings) {
- try {
- const listing = new Listing(listingData);
- //await listing.save();
- console.log(`Saved listing to database: ${listing.title}`);
-
- //await notifyNewListing(listing);
- console.log(`Sent notification for listing: ${listing.title}`);
- } catch (innerError) {
- console.error(`Error processing listing: ${innerError.message}`);
- }
- }
- } catch (error) {
- console.error('Error scraping Pisos.com:', error.message);
- throw new Error('Failed to scrape Pisos.com');
- } finally {
- await browser.close();
- console.log('Finished Pisos.com scraping process');
- }
-}
diff --git a/bak/scrape.vue b/bak/scrape.vue
deleted file mode 100644
index b4846b7..0000000
--- a/bak/scrape.vue
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
Initiate Scraping
-
-
{{ message }}
-
-
-
-
-
-
-
diff --git a/bak/scrapehabitaclia.js b/bak/scrapehabitaclia.js
deleted file mode 100644
index 5cc3428..0000000
--- a/bak/scrapehabitaclia.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import scrapeHabitaclia from '../services/scraper/habitacliaScraper';
-
-export default defineEventHandler(async (event) => {
- const puppeteer = event.context.$puppeteer;
- try {
- const result = await scrapeHabitaclia(puppeteer);
- return { success: true, message: 'Habitacia scraping initiated.' , data: result || {}};
- } catch (error) {
- return { success: false, message: 'Failed to initiate Habitacia scraping.', error: error.message };
- }
-});
diff --git a/bak/scrapepisoscom.js b/bak/scrapepisoscom.js
deleted file mode 100644
index 69ddde7..0000000
--- a/bak/scrapepisoscom.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// import pisoscomScraper from '../../modules/scraping/pisoscomScraper';
-
-export default defineEventHandler(async (event) => {
- try {
- const result = await pisoscomScraper();
- return { success: true, message: 'Fotocasa scraping initiated.' , data: result || {}};
- } catch (error) {
- return { success: false, message: 'Failed to initiate Fotocasa scraping.', error: error.message };
- }
-});
diff --git a/bak/test.ts b/bak/test.ts
deleted file mode 100644
index 09cb0e6..0000000
--- a/bak/test.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { createClient } from 'pexels';
-const client = createClient('dKrFwkztM2MT9ss60BIBukRyTQpwEN4cFdydJis2zi2xeQ1NC4irqWGl');
-
-export default defineEventHandler(async (event) => {
- const {query} = await readBody(event);
- const result = await client.photos.search({ query, per_page: 20 });
-
- return result?.photos.map(item => {
- return {
- id :item.id,
- alt: item.alt,
- src: item.src.large
- };
- });
-});
\ No newline at end of file
diff --git a/bak/useDatabase.js b/bak/useDatabase.js
deleted file mode 100644
index 6f1c30f..0000000
--- a/bak/useDatabase.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import mongoose from 'mongoose';
-
-export const useDatabase = () => {
- const config = useRuntimeConfig();
-
- mongoose.connect(config.mongodbUri, { useNewUrlParser: true, useUnifiedTopology: true });
-
- return mongoose;
-}
diff --git a/composables/.gitikeep b/composables/.gitikeep
new file mode 100644
index 0000000..e69de29
diff --git a/modules/.gitikeep b/modules/.gitikeep
new file mode 100644
index 0000000..e69de29
diff --git a/plugins/.gitikeep b/plugins/.gitikeep
new file mode 100644
index 0000000..e69de29
diff --git a/project.zip b/project.zip
deleted file mode 100644
index 5b37f4a..0000000
Binary files a/project.zip and /dev/null differ