Gestión de contenido con Strapi CMS

Arquitectura CMS

El contenido de Iwagé se gestiona mediante dos instancias de Strapi (headless CMS) que actúan como fuente de verdad:

  • iwage_strapi (puerto 1338): contenido principal del ecosistema (propiedades, experiencias, productos, paquetes, anfitriones, bitácoras, etc.).
  • reservas_strapi (puerto 1339): base de datos del motor de reservas (recursos reservables, clientes, reservas, órdenes, pagos).

Acceso al panel admin

El panel de administración de Strapi se accede desde:

  • iwage_strapi: https://iwage.co/admin (o localhost:1338/admin en desarrollo)
  • reservas_strapi: localhost:1339/admin (solo acceso interno)

Las credenciales se almacenan en las variables de entorno del archivo .env (STRAPI_ADMIN_*_KEYS).

Flujo de publicación

  1. Crear contenido: en el panel de Strapi, navega al content type correspondiente y crea una nueva entrada.
  2. Completar campos: llena los campos obligatorios (varían por content type).
  3. Guardar como borrador: puedes guardar sin publicar para revisar antes.
  4. Publicar: haz clic en "Publish" para hacer el contenido visible en el sitio.
  5. Sincronización automática: al publicar ciertos tipos (Experiencia, Propiedad-Gestion), se dispara automáticamente la sincronización hacia app_reservas vía lifecycle hooks.

Media Library

Strapi incluye una biblioteca de medios para gestionar imágenes y archivos. Las imágenes subidas se sirven desde el endpoint de assets de Strapi y se referencian en los content types mediante campos de media. Para el sitio frontal, las imágenes se obtienen vía la API REST de Strapi y se optimizan automáticamente.

API REST

Strapi expone una API REST para cada content type. El frontend Astro consume estas APIs mediante el helper strapiFetch() definido en src/lib/strapi.ts. Las consultas soportan filtros, ordenamiento y paginación.

¿Te fue útil esta guía?