Ir al artículo
Aniq-UI

HollinaEjecuta el negocio de reservas en local

Ejecuta el negocio de reservas en local

Instala e inicia cada aplicación con Node.js y Yarn, una terminal por aplicación.

Para el paquete Full Stack

Antes de empezar: instala Node.js 22 o más reciente y ejecuta corepack enable una vez (en Node.js 25 y posteriores, que no incluyen Corepack, ejecuta antes npm install -g corepack). No hace falta ningún servidor de base de datos.

Ver los requisitos

Abre cada terminal donde los comandos de abajo la esperan: dentro de hollina-vacation-rental-full-stack para el paquete Full Stack, o junto a la carpeta de la aplicación para un paquete de una sola aplicación.

AplicaciónCarpetaDirección
APIback-endlocalhost:8000Local
Sitio web de alojamientosstorefrontlocalhost:3030Local
Panel de reservasadmin-dashboardlocalhost:3031Local

Inicia primero la API: ambos frontends obtienen de ella todos sus datos.

Inicia la API

  1. Instala y configura

    .env.example funciona tal cual para el desarrollo local: SQLite en el puerto 8000 y sin claves de pago, así que el simulador incluido acepta todas las reservas con tarjeta y PayPal.

    Terminal
    corepack enable
    cd back-end
    yarn install
    cp .env.example .env
    ¿Tienes problemas?
  2. Crea la base de datos

    yarn seed comprueba que todas las fotografías de la carga inicial estén presentes y luego crea database.sqlite, sus tablas y la empresa de demostración: 32 permisos, los roles Super Admin y Manager, las dos cuentas, 15 ajustes de la empresa, 18 comodidades, 6 destinos, 14 alojamientos (12 publicados, 2 borradores) con 42 fotografías, 6 preguntas de la página de inicio, 60 reservas, 8 rangos bloqueados, 12 consultas y 24 reseñas. Las fechas se guardan como desplazamientos respecto al día en que haces la carga, así que siempre hay llegadas hoy.

    Terminalen back-end
    yarn seed
  3. Inicia el servidor

    Terminalen back-end
    yarn dev

    Resultado esperado: localhost:8000/api/healthLocal responde con "status":"ok" y "database":"up".

    ¿Tienes problemas?

Inicia la API

  1. Instala y configura

    .env.example funciona tal cual para el desarrollo local: SQLite en el puerto 8000 y sin claves de pago, así que el simulador incluido acepta todas las reservas con tarjeta y PayPal.

    Terminal
    corepack enable
    cd hollina-backend
    yarn install
    cp .env.example .env
    ¿Tienes problemas?
  2. Crea la base de datos

    yarn seed comprueba que todas las fotografías de la carga inicial estén presentes y luego crea database.sqlite, sus tablas y la empresa de demostración: 32 permisos, los roles Super Admin y Manager, las dos cuentas, 15 ajustes de la empresa, 18 comodidades, 6 destinos, 14 alojamientos (12 publicados, 2 borradores) con 42 fotografías, 6 preguntas de la página de inicio, 60 reservas, 8 rangos bloqueados, 12 consultas y 24 reseñas. Las fechas se guardan como desplazamientos respecto al día en que haces la carga, así que siempre hay llegadas hoy.

    Terminalen hollina-backend
    yarn seed
  3. Inicia el servidor

    Terminalen hollina-backend
    yarn dev

    Resultado esperado: localhost:8000/api/healthLocal responde con "status":"ok" y "database":"up".

    ¿Tienes problemas?

Ejecutar la carga inicial de nuevo

Vuelve a poner las filas de demostración

yarn seed identifica cada fila que incluye con una clave estable (el S001 de un alojamiento, el B0001 de una reserva, el nombre de un ajuste). Ejecutarlo de nuevo no añade nada dos veces y nunca restablece una contraseña, pero reescribe cada alojamiento, destino, reserva, bloqueo, consulta, reseña, pregunta de la página de inicio y ajuste de la empresa incluidos con sus valores originales, con las fechas movidas al nuevo día, así que el nombre de tu empresa, tus datos de contacto y cualquier cambio en un alojamiento de demostración se reemplazan. Los alojamientos, las reservas y todo lo demás que creaste tú se conservan. Ejecútalo una vez en una base de datos nueva, no en una que ya hayas hecho tuya.

Inicia el sitio web de alojamientos

En una segunda terminal:

  1. Instala y configura

    El .env copiado apunta el sitio web a la API en el puerto 8000.

    Terminal
    cd storefront
    yarn install
    cp .env.example .env
  2. Inícialo

    yarn dev primero copia el worker de la biblioteca de mapas en public/maplibre/ y luego inicia el sitio web.

    Terminalen storefront
    yarn dev

    Resultado esperado: localhost:3030Local abre el sitio web en inglés con los alojamientos de demostración; el árabe está en /ar.

    ¿Tienes problemas?

Inicia el sitio web de alojamientos

La API no forma parte de este paquete. Iníciala primero; el .env copiado la espera en http://localhost:8000/api.

  1. Instala y configura

    Si tu API funciona en otro lugar, configura NEXT_PUBLIC_API_BASE_URL en .env con su dirección, incluido /api.

    Terminal
    corepack enable
    cd hollina-website
    yarn install
    cp .env.example .env
    ¿Tienes problemas?
  2. Inícialo

    yarn dev primero copia el worker de la biblioteca de mapas en public/maplibre/ y luego inicia el sitio web.

    Terminalen hollina-website
    yarn dev

    Resultado esperado: localhost:3030Local abre el sitio web con los alojamientos de tu API; el árabe está en /ar.

    ¿Tienes problemas?

Inicia el panel de reservas

En una tercera terminal:

  1. Instala y configura

    El .env copiado apunta el panel a la API y a sus notificaciones en directo en el puerto 8000.

    Terminal
    cd admin-dashboard
    yarn install
    cp .env.example .env
  2. Inícialo e inicia sesión

    Terminalen admin-dashboard
    yarn dev

    Resultado esperado: localhost:3031Local abre el formulario de inicio de sesión. Inicia sesión con admin@hollina.example y la contraseña Admin@123.

    ¿Tienes problemas?

Inicia el panel de reservas

La API no forma parte de este paquete. Iníciala primero; el .env copiado la espera en http://localhost:8000/api.

  1. Instala y configura

    Si tu API funciona en otro lugar, configura en .env NEXT_PUBLIC_API_BASE_URL (con /api) y NEXT_PUBLIC_WEBSOCKET_BASE_URL (sin él) con su dirección.

    Terminal
    corepack enable
    cd hollina-booking-dashboard
    yarn install
    cp .env.example .env
    ¿Tienes problemas?
  2. Inícialo e inicia sesión

    Terminalen hollina-booking-dashboard
    yarn dev

    Resultado esperado: localhost:3031Local abre el formulario de inicio de sesión. Inicia sesión con admin@hollina.example y la contraseña Admin@123, que una API con datos iniciales acepta.

    ¿Tienes problemas?

Otros puertos

Sin Docker, los puertos están fijados en los archivos. Los scripts dev y start del sitio web en package.json pasan -p 3030, y los del panel pasan -p 3031: cambia el número ahí para mover uno, y luego añade la nueva dirección a CORS_ORIGIN en el .env de la API; para el panel define también FRONTEND_URL con ella, y para el sitio web SITE_URL. Para mover la API, define PORT y PUBLIC_MEDIA_URL en su .env con el mismo número, y NEXT_PUBLIC_API_BASE_URL en ambos frontends (y también NEXT_PUBLIC_WEBSOCKET_BASE_URL en el del panel).

Versión de producción

Las mismas carpetas, construidas una vez y luego iniciadas. Primero configura el .env de la API para producción: con NODE_ENV=production la API nunca cambia las tablas al iniciar, y se niega a iniciar mientras JWT_SECRET esté vacío o siga con el valor de ejemplo, o mientras CORS_ORIGIN esté vacío.

El .env de la API
NODE_ENV=production
JWT_SECRET=paste-the-generated-secret-here
CORS_ORIGIN=http://localhost:3030,http://localhost:3031
FRONTEND_URL=http://localhost:3031
SITE_URL=http://localhost:3030
PUBLIC_MEDIA_URL=http://localhost:8000/media

Genera el secreto con node -e "console.log(require('crypto').randomBytes(48).toString('hex'))". Luego, en la carpeta de la API, constrúyela, crea sus tablas una vez e iníciala. yarn seed:prod añade la empresa de demostración y sus cuentas; yarn db:sync:prod en su lugar crea tablas vacías sin cuentas.

Terminal
yarn build
yarn seed:prod
yarn start:prod

Construcción de producción de los frontends

En la carpeta de cada frontend, construye una vez e inicia. El sitio web funciona en el 3030 y el panel en el 3031.

Terminal
yarn build
yarn start

Los frontends compilan su .env en el momento de la construcción, así que ejecuta yarn build otra vez después de cambiarlo. Antes de desplegar en cualquier lugar público, lee la guía de despliegue.

Empieza de cero con datos de demostración nuevos

Detén la API, elimina el archivo de la base de datos y vuelve a cargar los datos, en la carpeta de la API. Esto elimina todo lo que creaste.

Terminal
rm -f database.sqlite* && yarn seed

En PowerShell:

Terminal
Remove-Item database.sqlite*; yarn seed

Siguiente

¿Te resultó útil?

Revisado con la versión 2026-10-16

¿Te atascaste en un paso?

Busca una solución antes de empezar de nuevo.

Solución de problemas

Preferencias de Cookies

Utilizamos cookies para mejorar tu experiencia de navegación, analizar el tráfico del sitio y personalizar el contenido. Al hacer clic en "Aceptar Todo", consientes nuestro uso de cookies para análisis y publicidad personalizada.