vayload.io Svelte Themes

Vayload.io

Harness the velocity of Go on the backend and the fluid reactivity of Svelte on the frontend. Vayload is a next-generation CMS designed for developers who demand performance and a streamlined workflow.

Estructura de Directorios para CMS Headless con Arquitectura Microkernel

/
├── cmd/                          # Puntos de entrada de la aplicación
│   └── server/                   # Servidor principal
│       └── main.go               # Inicializa y arranca el microkernel
│
├── internal/                     # Código privado de la aplicación
│   ├── kernel/                   # Núcleo del sistema (microkernel)
│   │   ├── bus.go                # Bus de eventos para comunicación entre componentes
│   │   ├── container.go          # Contenedor de dependencias y registro de plugins
│   │   ├── kernel.go             # Implementación del microkernel
│   │   └── interfaces.go         # Interfaces para plugins y extensiones
│   │
│   ├── api/                      # Componentes relacionados con la API
│   │   ├── generator/            # Generador automático de APIs REST
│   │   │   ├── generator.go      # Motor de generación de endpoints
│   │   │   ├── parser.go         # Parser de definiciones JSON
│   │   │   └── template.go       # Plantillas para rutas y controladores
│   │   ├── middleware/           # Middleware para APIs
│   │   └── response/             # Transformación de respuestas
│   │       ├── formatter.go      # Formateador de respuestas
│   │       └── transformer.go    # Transformador para adaptar respuestas al cliente
│   │
│   ├── plugins/                  # Plugins básicos del sistema
│   │   ├── auth/                 # Plugin de autenticación
│   │   ├── cache/                # Plugin de caché
│   │   ├── storage/              # Plugin de almacenamiento
│   │   └── logging/              # Plugin de logging
│   │
│   ├── schema/                   # Gestión de esquemas de datos
│   │   ├── loader.go             # Carga dinámicamente definiciones de esquemas
│   │   ├── validator.go          # Validación de esquemas
│   │   └── registry.go           # Registro de esquemas disponibles
│   │
│   └── utils/                    # Utilidades compartidas
│       ├── config/               # Configuración
│       └── errors/               # Gestión de errores
│
├── plugins/                      # Plugins de terceros o extensiones
│   ├── content_types/            # Plugins para tipos de contenido
│   │   ├── article/              # Plugin para tipo de contenido "artículo"
│   │   └── product/              # Plugin para tipo de contenido "producto"
│   ├── extensions/               # Extensiones funcionales
│   │   ├── seo/                  # Extensión para SEO
│   │   └── media/                # Extensión para gestión de medios
│   └── apis/                     # Plugins de APIs personalizadas
│
├── web/                          # Frontend en Svelte (opcional, para admin)
│   ├── src/                      # Código fuente del frontend
│   │   ├── lib/                  # Componentes y utilidades
│   │   │   └── schema-client/    # Cliente para consumir esquemas del backend
│   │   ├── routes/               # Rutas de la aplicación
│   │   └── app.html              # Plantilla principal
│   └── static/                   # Archivos estáticos
│
├── config/                       # Configuraciones
│   ├── schema/                   # Definiciones JSON de esquemas y APIs
│   │   ├── content_types/        # Definiciones de tipos de contenido
│   │   │   ├── article.json      # Definición de tipo "artículo"
│   │   │   └── product.json      # Definición de tipo "producto"
│   │   ├── apis/                 # Definiciones de APIs
│   │   │   └── v1/               # Versión 1 de la API
│   │   │       ├── article.json  # API para artículos
│   │   │       └── product.json  # API para productos
│   │   └── transformers/         # Definiciones de transformadores de respuesta
│   │       ├── web.json          # Transformador para web
│   │       └── mobile.json       # Transformador para móvil
│   └── server.json               # Configuración del servidor
│
├── deployments/                  # Configuraciones de despliegue
│   ├── docker/                   # Archivos Docker
│   │   ├── Dockerfile            # Dockerfile para la construcción
│   │   └── docker-compose.yml    # Composición para desarrollo local
│   └── nginx/                    # Configuración de Nginx
│
├── scripts/                      # Scripts de utilidad
│   ├── build.sh                  # Script de construcción
│   └── generate-api.sh           # Script para generar APIs
│
├── tests/                        # Pruebas
│   ├── unit/                     # Pruebas unitarias
│   ├── integration/              # Pruebas de integración
│   └── e2e/                      # Pruebas de extremo a extremo
│
├── docs/                         # Documentación
│   ├── api/                      # Documentación de API
│   └── plugins/                  # Documentación de plugins
│
├── go.mod                        # Dependencias de Go
├── go.sum                        # Checksums de dependencias
└── README.md                     # Documentación principal

Top categories

Loading Svelte Themes