FLEM BD Domínio API

API de conexão com o BD da Domínio, para o cliente FLEM



Conteúdo


API de conexão com o BD da Domínio, para o cliente FLEM.

Tem os seguintes objetivos:

  • Fornecer uma API de alta performance e baixo custo computacional que consuma de maneira segura e estável os dados requisitados;
  • Manipular de maneira independente e com controle integrado dados provenientes do BD da Domínio.

Características


  • Facilita os processos resumindo todas as suas funcionalidades centradas no consumo dos dados sem comprometer a performance.

Stack


  • Linguagem Principal: Javascript
  • Framework Principal: Node.js
  • Framework estrutural: Next.js
  • Biblioteca de Conexão ODBC / ORM: Sybase-Promised
  • Banco de Dados: Sybase
  • Gerenciador de Dependências: Yarn
  • Bibliotecas: Para uma lista completa de bibliotecas e dependências nos mais variados escopos, conferir o arquivo package.json.

Documentação


Documentação adicional pode ser encontrada aqui.


Instruções


Utilizando o repositório como projeto

1 - Faça um git clone ou o download do repositório, da forma que preferir


git clone https://github.com/frtechdev/flem-bd-dominio-api.git

2 - Instale um gerenciador de pacotes (preferencialmente yarn) utilizando um terminal no diretório raiz do repositório clonado

yarn ou npm install

3 - Execute a aplicação no terminal

yarn dev ou npm run dev

Implantando o projeto

Por um repositório clonado

Lembre-se de executar yarn build ANTES de criar seu container com base no repositório local.

Para criar a imagem, utilize o docker build referenciando o arquivo local do Dockerfile:

docker build --env-file .env -f Dockerfile .

Diretamente do repositório remoto

Você pode utilizar o docker build referenciando diretamente o repositório:

docker build https://github.com/frtechdev/flem-bd-dominio-api.git#main

Alternativamente, pode usar o comando detalhado para alterar diretamente configurações como porta e nome do repositório:

docker run -p X:3000 --env-file .env -e github='https://github.com/frtechdev/flem-bd-dominio-api.git' -it frtechdev/flem-bd-dominio-api

Lembre-se de criar um arquivo .env para definir as variáveis de ambiente utilizadas na imagem, ou especificar as variáveis utilizadas uma a uma na linha de comando acima.

Onde "X" é uma porta externa de sua escolha. Por padrão, a porta interna é 4030. Para alterar a porta interna, altere a linha ENV PORT do Dockerfile.

Para mais informações, visite a Documentação do Docker.


Variáveis de Ambiente


VariávelUso
DB_HOSTEndereço do Servidor de BD Sybase Domínio.
DB_PORTPorta de conexão com o Servidor de BD Sybase Domínio.
DB_DBNAMENome do BD do Servidor de BD Sybase Domínio.
DB_USERNAMENome de usuário da conexão com o Servidor de BD Sybase Domínio.
DB_PASSWORDSenha da conexão com o Servidor de BD Sybase Domínio.

Notas de versão


v1.0.1-230630

  • Correção com incompatibilidade com forever.restartAll dentro do serviço de conexão com Sybase
  • Aualização da documentação

v1.0.0-230625

  • Criação de um script de Github Actions para Tag e Release automáticos das versões no branch main
  • Adição de um script de Github Actions para deploy automático de imagem Docker
  • Adição de script de limpeza de index de cache do Git
  • Adição do arquivo .yarnclean para sanitização de módulos
  • Inclusão de scripts yarn
  • Documentação de todos os componentes, módulos, arquivos e componentes do projeto
  • Criação de Handler para tratamento de Exceções e resposta para o usuário
  • Atualização da Documentação

v0.0.14-230112

  • Atualização da Documentação
  • Correção do método POST em api/funcionarios para inclusão dos critérios de filtragem
  • Implementação da biblioteca Forever para gerenciamento do processo Node a fim de que este reinicialize em caso de erro com o conector Sybase
  • Alteração do parâmetro de script "yarn dev" para inicializar uma instância Forever invocando a aplicação
  • Adição de parâmetro de script "yarn stop" para finalizar corretamente o processo-filho do Forever e contornar o bug do Node no Windows

v0.0.13-230110

  • Atualização da Documentação
  • Adição de método POST para critérios de condições longas

v0.0.12-230109

  • Atualização do GITIGNORE
  • Adição de comando yarn para realizar o contorno do update do caniuse (browserslist update)
  • Atualização do README
  • Alteração na API para utilizar um único queryComposer
  • Ajuste nos utilitários de conversão de array para o queryComposer

v0.0.11-221111

  • Atualização da documentação

v0.0.10-221110

  • Atualização da documentação

v0.0.9-221110

  • Remoção do utilitário de composição da query de cada controller e agrupado em um utilitário específico
  • Criados controllers para query de afastamentos e de beneficiários
  • Atualização da documentação

v0.0.8-220922

  • Atualização da documentação
  • Atualização do GITIGNORE
  • Modificação do controller de busca de funcionários para uma melhor organização entre as funções e as queries
  • Criação de um controller para pesquisa de histórico de férias, ausências e licenças de funcionários
  • Criação de um controller para pesquisa de dados de beneficiários dentre os dados dos funcionários
  • Criação de rota API para busca de dados de beneficiários, afastamentos e lista geral
  • Resolvido bug de performance causado pela desconexão mal resolvida do Sybase-Promised
  • Criado componente específico para armazenamento de queries realizadas pelos controllers
  • Reformulação das queries para trazer informações mais legíveis e completas
  • Criado componente para parametrizar fragmentos condicionais das queries (CASE, IF)
  • Acrescentados utilitários
  • Revisados utilitários de manipulação de array
  • Revisados métodos de composição de filtro de pesquisa de query dos controllers

v0.0.7-220902

  • Atualização da documentação
  • Remoção do CHANGELOG e inclusão no README

v0.0.6-220726dx

  • Adição de arquivos .env e yarn lock ao gitignore
  • Adição de configurações de linting
  • Removidos dados de versão no Changelog
  • Remoção do template da API
  • Atualização da documentação
  • Atualização dos parâmetros jsdoc para compilação da documentação
  • Ajustes ao next coinfig para direcionamento automático de rota para alteração de Home Page da API
  • Remoção do parâmetro de porta de conexão separadamente em arquivo .env e retorno da menção da porta pelo script do package.json
  • Criação de Controller para manipulação e aquisição de dados
  • Alteração da Rota de API para pesquisas de funcionários
  • Implementação de função para controller customizado utilizando filtros de critério de pesquisa
  • Criada função para alteração do título da Home Page da documentação visto limitação da biblioteca jsdoc
  • Implementado método para aplicar CORS dentro da rota
  • Implementada função de query ao BD utilizando o conector do Sybase
  • Adicionados e revisados utilitários de máscaras e parsers

v0.0.5-220322fr

  • v0.0.4-220322rl

v0.0.4-220228fr

  • Efetuado criação da rota 'Funcionário' para consulta de dados do colaborador pela matrícula

v0.0.3-220228fr

  • v0.0.2-220228fr
  • v0.0.1-220228dx

v0.0.2-220228fr

  • v0.0.1-220228dx

v0.0.1-220228dx

  • Criação do README
  • Criação do CHANGELOG
  • Recompilação da documentação inicial

Autores



Contato


Se você gostou deste projeto, dê uma estrela.
Para contato, envie um email a: devops@frtechnologies.com.br


Licença

Licenciado sob a MIT License.