🧩 Headless Documentation
Descripción
Sistema de e-commerce headless que integra múltiples servicios: Magento como backend principal, Directus para gestión de contenido, Typesense para búsqueda y Next.js como frontend.
Stack Tecnológico
- Lenguaje: TypeScript/JavaScript (Next.js)
- Framework: Next.js 13.4
- CMS: Directus
- E-commerce: Magento
- Búsqueda: Typesense, Algolia
- Base de Datos: Utiliza las bases de datos de los servicios conectados
- Herramientas: Docker
Requisitos Previos
- Node.js (versión 18 o superior)
- Yarn (Package Manager)
- Acceso a las APIs de Magento, Directus y Typesense
Instalación Rápida
- Clonar el repositorio
- Instalar dependencias:
yarn install - Configurar archivo
.env.localcon las variables necesarias:MAGENTO_PROXY_URL=https://tu-instancia-magento.com
NEXT_PUBLIC_DIRECTUS_URL=https://tu-instancia-directus.com
NEXT_PUBLIC_DIRECTUS_TOKEN=tu-token-directus
NEXT_PUBLIC_TYPESENSE_HOST=tu-host-typesense
NEXT_PUBLIC_TYPESENSE_INDEX_NAME=nombre-del-indice
NEXT_PUBLIC_TYPESENSE_READONLY_API_KEY=tu-api-key-readonly
NEXT_PUBLIC_USE_MAGENTO_GRAPHQL_PROXY=true
# Solicitar las variables restantes - Preconstruir datos estáticos:
yarn prebuild - Iniciar entorno de desarrollo:
yarn dev
Uso Básico
- Desarrollo local:
yarn dev - Compilar para producción:
yarn build - Iniciar en modo producción:
yarn start - Ejecutar en Docker:
docker-compose -f docker-compose-standalone.yml up
Estructura del Proyecto
headless/
├── .directus/ # Configuración de Directus (deprecated)
├── .docker/ # Archivos Docker para despliegue
├── lib/ # Herramientas de prebuild
├── pages/ # Páginas y rutas de Next.js
│ ├── api/ # API routes para proxies
│ │ ├── magento/ # Proxy a Magento (GraphQL/REST)
├── public/ # Archivos estáticos
├── src/
│ ├── components/ # Componentes React
│ ├── context/ # Contextos de React
│ ├── graphql/ # Consultas GraphQL
│ ├── hooks/ # React hooks personalizados
│ ├── magento/ # Integraciones con Magento
│ ├── services/ # Servicios para comunicación con APIs
│ ├── styles/ # Helpers de estilos para js
│ └── utils/ # Utilidades varias
├── styles/ # Estilos globales y componentes
├── middleware.ts # Middleware de Next.js
├── next.config.js # Configuración de Next.js
└── docker-compose-*.yml # Configuraciones Docker