Creando módulo
Los módulos son la forma principal de ampliar la funcionalidad de NexoPOS. Permiten a los desarrolladores introducir nuevas funciones, personalizar comportamientos existentes o integrar servicios externos sin modificar la aplicación principal.
Cada módulo funciona como una unidad independiente con su propia lógica, recursos y configuración. Esta arquitectura modular garantiza que los desarrollos personalizados permanezcan aislados y sean compatibles con futuras actualizaciones de NexoPOS.
Por diseño, NexoPOS trata los módulos como componentes de primera clase del sistema, lo que permite un ecosistema flexible y escalable.
Arquitectura
Un módulo se estructura como un componente autocontenido dentro de la aplicación. Por lo general, incluye:
- Controllers: Handle application logic and user interactions
- Views: Define the user interface rendered within the dashboard
- Routes: Register accessible endpoints and navigation paths
- Assets: Provide JavaScript, CSS, or other frontend resources
- Configuration: Store module-specific settings and metadata
Todos los módulos se almacenan dentro del directorio de módulos y siguen una estructura estandarizada para garantizar la coherencia en todo el sistema.
Generación de módulos
NexoPOS incluye un comando Artisan integrado que ayuda a generar un nuevo módulo con la estructura esperada. Esta es la forma recomendada de iniciar un módulo, ya que prepara los archivos base y los directorios necesarios por el sistema.
Para crear un módulo, abre una terminal desde la raíz de tu instalación de NexoPOS y ejecuta el siguiente comando:
php artisan make:module
Una vez ejecutado el comando, NexoPOS iniciará un proceso interactivo y solicitará una serie de detalles.
El primer valor que se debe proporcionar es el espacio de nombres del módulo. Este es el identificador interno del módulo y normalmente se escribe en un formato compacto como FooBar. Este espacio de nombres se utiliza para crear el directorio del módulo e identificar el módulo internamente.
.
Después de eso, NexoPOS solicita el nombre del módulo. A diferencia del espacio de nombres, este es el nombre legible para humanos que se puede mostrar a los usuarios. Por ejemplo, un espacio de nombres como FooBar puede usar un nombre como El módulo FooBar.
El siguiente mensaje solicita el nombre del autor. Esto se utiliza para identificar quién creó el módulo y se guarda junto con los metadatos del módulo.
NexoPOS luego solicita una breve descripción. Esta descripción explica brevemente el propósito del módulo y ayuda a identificar su función.
Antes de generar los archivos, el comando muestra una tabla de resumen que contiene la información proporcionada, incluyendo el espacio de nombres, el nombre, el autor, la descripción y la versión. En esta etapa, se requiere una confirmación. Al confirmar la información, NexoPOS puede continuar con la generación.
Una vez confirmado, el sistema crea una nueva carpeta dentro del directorio de módulos utilizando el espacio de nombres proporcionado. Por ejemplo, si el espacio de nombres es FooBar, el módulo generado se creará en modules/FooBar.
La estructura generada incluye varios directorios y archivos que preparan el módulo para un desarrollo posterior. Entre ellos se encuentran carpetas para configuración, lógica CRUD, eventos, fachadas, campos, clases HTTP, correos, migraciones, modelos, proveedores, recursos públicos, recursos, rutas y servicios. El módulo también incluye archivos principales como config.xml y el archivo de clase principal del módulo.
Esta estructura generada proporciona la base necesaria para comenzar a desarrollar funcionalidades, manteniendo el módulo organizado de acuerdo con los estándares de NexoPOS.
Recomendación
Para garantizar la compatibilidad y la mantenibilidad, los módulos siempre deben crearse utilizando el generador integrado proporcionado por NexoPOS.
Esto garantiza la alineación con los estándares del sistema y reduce el riesgo de problemas estructurales o de integración.