Next.js · v1.0.0Nuevo

salescloud estate®

Portal inmobiliario SaaS multi-tenant con scrapers automaticos.

1.499€ licencia perpetua

Requisitos

  • Node.js 20+
  • PostgreSQL 15+
  • PM2 para produccion
  • Servidor Ubuntu 24.04 con 4GB+ RAM
  • Dominio con SSL

Instalacion

  1. 1Clona el repositorio
    git clone git@github.com:salescloud-es/estate.git && cd estate
  2. 2Copia el .env y configura la base de datos
    cp .env.example .env
    # Edita DATABASE_URL, JWT_SECRET, NEXT_PUBLIC_SITE_URL
  3. 3Ejecuta las migraciones de Prisma
    npx prisma migrate deploy
  4. 4Haz el build de produccion
    npx next build
  5. 5Inicia con PM2
    pm2 start 'npx next start -p 3100' --name estate -i 2

Configuracion

  1. 1Crea el tenant via API
    curl -X POST https://tu-dominio.com/api/admin/tenants \
      -H 'x-admin-key: TU_ADMIN_KEY' \
      -H 'Content-Type: application/json' \
      -d '{"name": "Mi Portal", "domain": "miportal.com", "primaryColor": "#004274"}'
  2. 2Añade agencias y configura scrapers
  3. 3Ejecuta el scraper por primera vez
    bash /root/scripts/scrape-inmocloud.sh
  4. 4Configura el cron para scraping automatico
    0 */6 * * * bash /root/scripts/scrape-inmocloud.sh >> /var/log/scraper.log 2>&1

Documentacion

Arquitectura multi-tenant

Cada portal funciona como tenant independiente con dominio propio, colores, logo y datos aislados. La tabla tenants almacena la configuracion de cada portal. Un solo despliegue Next.js sirve multiples portales.

¿Te ha sido util?

Scrapers: engines disponibles

7 engines de scraping: - Sooprema: para portales inmobiliarios Sooprema (property-7, property-14, property-15, property-26, property-29, card-wrapper) - WordPress: via WP REST API + ACF fields - MediaElx: portales MediaElx - Inmoweb: portales Inmoweb - Nardia: portales Nardia - Inmovilla: portales Inmovilla - PaageesAPI: API de Paagees

¿Te ha sido util?

Crear un scraper WordPress

Para sitios WordPress con WP REST API (HomeEspana, etc.):

INSERT INTO scraper_sources (id, tenant_id, name, type, url, config, agency_id, interval_hours, is_active)
VALUES ('ss_miagencia', 'TENANT_ID', 'Mi Agencia', 'wordpress', 'https://www.miagencia.com',
  '{"restPath": "/wp-json/wp/v2/property", "perPage": 100}',
  'ag_miagencia', 12, true);
¿Te ha sido util?

Mapa interactivo

Leaflet con clusters automaticos, popup cards con precio y foto, vista satelite embebida de Google Maps y boton Street View en cada ficha de propiedad.

¿Te ha sido util?

SEO multiidioma

next-intl con 11 idiomas configurados. Schema.org RealEstateListing automatico en cada ficha. Sitemap dinamico, meta tags y Open Graph generados por propiedad.

¿Te ha sido util?

Portal de agencias

Cada agencia tiene su dashboard con: listado de propiedades, leads recibidos, analytics de visitas, citas programadas, feed XML para Idealista y Kyero, y widget embebible en su web.

¿Te ha sido util?

Sistema de publicidad

Banners con 3 slots (sidebar, top resultados, home). Tracking de impresiones y clicks. Formulario de compra con seleccion de duracion y precio por mes.

¿Te ha sido util?

Filtros de busqueda

Sidebar con: tipo, zona, precio, habitaciones, baños, superficie, parcela, precio/m2, certificado energetico, agencia, rebajado, obra nueva, vistas al mar, antiguedad del anuncio.

¿Te ha sido util?

Comparador de mercado

Precio/m2 por zona con gauge visual, historial de precios con grafico SVG, alertas de bajada de precio por email, badge automatico de 'mejor precio' en propiedades 15%+ por debajo de la media.

¿Te ha sido util?

Changelog

v1.0.02026-03-28
  • Lanzamiento inicial
  • 7 engines de scraping
  • 7.500+ propiedades
  • 123 agencias
  • 11 idiomas

¿Necesitas ayuda con salescloud estate®?

Pregunta en el foro de la comunidad o contacta con soporte tecnico.