logix-sphere-framework
TypeScript icon, indicating that this package has built-in type declarations

1.9.1 • Public • Published

Logix-Sphere Framework

Visão Geral

O Logix-Sphere Framework é um framework modular desenvolvido em Node.js, projetado para suportar a arquitetura de microserviços do projeto Logix-Sphere. Este framework fornece uma estrutura robusta com adaptadores e funcionalidades que facilitam o gerenciamento de cache, logs, filas, segurança, e conexão com bancos de dados, permitindo uma integração segura e eficiente entre diferentes componentes do sistema.

Estrutura de Diretórios

Abaixo, uma visão geral dos principais diretórios e suas funcionalidades:

logix-sphere-framework/
├── Boilerplate                 # Exemplo de estrutura de microserviço para uso como base
│   └── Microservico            # Exemplo de microserviço básico
├── src                         # Código principal do framework
│   ├── adapters                # Adaptadores para diversas tecnologias e funções
│   ├── core                    # Implementação principal das funções de adaptação
│   ├── cross                   # Interfaces para objetos e funcionalidades comuns
│   ├── shortcuts               # Atalhos para inicialização rápida do framework
│   └── technologies            # Implementação de tecnologias específicas e conexões
└── tests                       # Testes unitários do framework

Detalhes dos Diretórios

  • Boilerplate: Contém o exemplo Microservico, que fornece um ponto de partida para novos microserviços no Logix-Sphere.
  • src/adapters: Adaptadores para integração com tecnologias específicas, como cache, segurança, SQL e NoSQL, além de filas (queues).
  • src/core: Implementação do núcleo do framework, com componentes para lidar com cache, segurança, log, SQL, NoSQL, e filas.
  • src/cross: Definição de interfaces que padronizam as entradas e saídas de dados comuns, como credenciais, mensagens de log, e permissões.
  • src/technologies: Conexões com tecnologias específicas, incluindo MongoDB, PostgreSQL e RabbitMQ, além de funcionalidades de cache em memória e feature toggles.

Configuração e Instalação

Requisitos

  • Node.js
  • Docker (para uso do Docker Compose)

Instalação

  1. Clone o repositório:

    git clone https://github.com/seu-repositorio/logix-sphere-framework.git
    cd logix-sphere-framework
  2. Instale as dependências:

    npm install
  3. Configure o ambiente de desenvolvimento, editando o arquivo arch-dev-environment.json com as variáveis necessárias.

  4. Para ambientes de desenvolvimento e testes, utilize o docker-compose.yml para configurar contêineres locais:

    docker-compose up -d

Uso Básico

Para iniciar o framework localmente, execute:

npm start

Exemplo de Microserviço

O diretório Boilerplate/Microservico fornece um exemplo básico de microserviço. Use-o como modelo para criar novos serviços no Logix-Sphere.

Principais Funcionalidades

Adapters

  • ArchCacheAdapter: Interface para lidar com operações de cache, como armazenamento em memória.
  • ArchEnvAdapter: Manipulação de variáveis de ambiente.
  • ArchLogAdapter: Adaptação para diferentes métodos de logging, incluindo MongoDB e Bash.
  • ArchNoSQLAdapter: Interface para bancos de dados NoSQL.
  • ArchQueueAdapter: Integração com sistemas de filas como RabbitMQ.
  • ArchSQLAdapter: Adaptação para bancos de dados SQL, com suporte para PostgreSQL.
  • ArchSecurityAdapter: Gerenciamento de autenticação e autorização de usuários.
  • ArchToggleAdapter: Controle de feature toggles para ativar/desativar funcionalidades.

Core

Implementação das funcionalidades principais para:

  • Cache: Utilização de cache em memória para dados temporários.
  • Logs: Logs de auditoria e erro, armazenados de forma flexível.
  • NoSQL e SQL: Conexão e manipulação de dados em MongoDB e PostgreSQL.
  • Queue: Envio e recebimento de mensagens através de filas (RabbitMQ).
  • Segurança: Autenticação e autorização de usuários e serviços.
  • Feature Toggles: Controle dinâmico de funcionalidades do sistema.

Technologies

Implementação de tecnologias e conexões:

  • MongoDBConnection e PostgreeDBConnection: Conexões com bancos de dados MongoDB e PostgreSQL.
  • RabbitMQConnection: Conexão com o serviço de filas RabbitMQ.
  • Memória de Cache e JSON: Alternativas para armazenamento temporário e configuração.

Testes

Este framework utiliza o Jest para testes unitários. Para executar todos os testes, use:

npm test

Os testes estão organizados em tests/adapter e tests/core, validando a funcionalidade dos adaptadores e do core do framework.

Contribuição

Para contribuir com o desenvolvimento deste framework, siga as diretrizes:

  1. Fork o repositório e crie sua branch para a nova funcionalidade (feature/nova-funcionalidade).
  2. Adicione testes para sua nova funcionalidade.
  3. Envie o pull request para revisão.

Licença

Este projeto é mantido sob uma licença específica da empresa, e seu acesso é restrito a colaboradores autorizados. Para mais detalhes, consulte o arquivo LICENSE.

Readme

Keywords

none

Package Sidebar

Install

npm i logix-sphere-framework

Weekly Downloads

1

Version

1.9.1

License

MIT

Unpacked Size

167 kB

Total Files

145

Last publish

Collaborators

  • awuser