Início
NexoPOS

Criando Módulo

Os módulos são a principal forma de estender a funcionalidade do NexoPOS. Eles permitem que os desenvolvedores introduzam novos recursos, personalizem comportamentos existentes ou integrem serviços externos sem modificar a aplicação principal.

Cada módulo opera como uma unidade independente, com sua própria lógica, recursos e configuração. Essa arquitetura modular garante que os desenvolvimentos personalizados permaneçam isolados e compatíveis com futuras atualizações do NexoPOS.

Por design, o NexoPOS trata os módulos como componentes de primeira classe do sistema, permitindo um ecossistema flexível e escalável.

Arquitetura

Um módulo é estruturado como um componente independente dentro da aplicação. Normalmente, inclui:

  • 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 os módulos são armazenados no diretório de módulos e seguem uma estrutura padronizada para garantir consistência em todo o sistema.

Geração de Módulos

O NexoPOS inclui um comando Artisan embutido que ajuda a gerar um novo módulo com a estrutura esperada. Esta é a forma recomendada de iniciar um módulo, pois prepara os arquivos e diretórios base necessários pelo sistema.

Para criar um módulo, abra um terminal a partir da raiz da sua instalação do NexoPOS e execute o seguinte comando:

php artisan make:module

Depois que o comando for executado, o NexoPOS iniciará um processo interativo e solicitará uma série de detalhes.

O primeiro valor a fornecer é o namespace do módulo. Este é o identificador interno do módulo e normalmente é escrito em um formato compacto, como FooBar. Este namespace é usado para criar o diretório do módulo e identificar o módulo internamente

.

image-8

Depois disso, o NexoPOS solicita o nome do módulo. Diferentemente do namespace, este é o nome legível para humanos que pode ser exibido aos usuários. Por exemplo, um namespace como FooBar pode usar um nome como The FooBar Module.

image-9

O próximo prompt solicita o nome do autor. Isso é usado para identificar quem criou o módulo e é armazenado entre os metadados do módulo.

image-12

O NexoPOS solicita então uma breve descrição. Essa descrição explica de forma sucinta a finalidade do módulo e ajuda a identificar seu papel.

image-13

Antes de gerar os arquivos, o comando exibe uma tabela de resumo contendo as informações fornecidas, incluindo o namespace, o nome, o autor, a descrição e a versão. Nesta etapa, é necessária uma confirmação. Ao confirmar as informações, o NexoPOS pode prosseguir com a geração.

image-14

Depois de confirmado, o sistema cria uma nova pasta dentro do diretório modules usando o namespace fornecido. Por exemplo, se o namespace for FooBar, o módulo gerado será criado em modules/FooBar.

module

A estrutura gerada inclui vários diretórios e arquivos que preparam o módulo para desenvolvimento adicional. Entre eles, há pastas para configuração, lógica CRUD, eventos, facades, campos, classes HTTP, e-mails, migrações, modelos, providers, ativos públicos, recursos, rotas e serviços. O módulo também inclui arquivos principais, como config.xml e o arquivo da classe principal do módulo.

Esta estrutura gerada fornece a base necessária para começar a desenvolver funcionalidades, mantendo o módulo organizado de acordo com os padrões do NexoPOS.

Recomendação

Para garantir compatibilidade e manutenibilidade, os módulos devem sempre ser criados usando o gerador integrado fornecido pelo NexoPOS.

Isso garante a conformidade com os padrões do sistema e reduz o risco de problemas estruturais ou de integração.