Skip to content

trepichio/kit-builder-app

Repository files navigation

kit-builder-app

Dependencies Contributors Not maintained

a builder for MBD Kits
Gerador de instalações customizadas para clientes (a.k.a. Kits). Desenvolvido por minha iniciativa própria para uso interno da empresa, afim de agilizar o processo e a qualidade do pós-atendimento do suporte automatizando e padronizando as implementações. Apesar de funcional, não está com sua arquitetura completa planejada, e seu desenvolvimento foi descontinuado.


DEMONSTRAÇÃO DO KIT BUILDER

-----------------------------------------------------

➤ Table of Contents

-----------------------------------------------------

➤ Este repositório

-----------------------------------------------------

➤ Descrição

Este é o repositório do serviço que recebe dados de uma fila de jobs e gera um executável para instalação customizada da aplicação e envia o link do arquivo par download.

-----------------------------------------------------

➤ Arquitetura

https://raw.githubusercontent.com/trepichio/kit-builder-app/master/Kit-Builder-Architecture.png

Veja também o repositório das outras partes desta arquitetura:

-----------------------------------------------------

➤ Detalhes

Foi feito em arquitetura semelhante a microserviços:

VueJS (Frontend) - NETLIFY

  • coleta parâmetros
  • POST na API com params
  • GET link/id/alerta

O Frontend foi feito em VueJS, com Vuetify. O formulário possui validações customizadas para IP, hostname, versão dos aplicativos e do banco de dados. Possui também busca de endereço pelo CEP e dos dados de clientes por uma API de base de dados (mockado). Faz envio das informações para uma API (serveless) NodeJS/Express hospedada no Netlify.

NodeJS + Express API + NETLIFY

  • recebe params e add job na queue do Firebase
  • não aceita request já existentes na queue ou done
  • retorna link/id/alerta (ao front)
  • retorna lista dos jobs em andamento

Esta API recebe os dados do frontend, e executa Funções Lambda do Netlify

Firebase Job Queue (Realtime Database)

  • Armazena parâmetros para o kit
  • Armazena metadados: data de criação, queue e status do Job
  • Armazena a URL gerada e enviada para baixar o Kit
  • Armazena o histórico

VM WINDOWS (BUILDER)

  • ambiente preparado com Firebird 2.5
  • DLLs instaladas e registradas
  • node script iniciado, reiniciado, gerenciado e monitorado com PM2
  • recebe lista de jobs do Firebase e seta queue (quando starta)
  • watch Firebase changes e add job na queue
    • watch jobs done, remove da queue e manda e-mail de notificação com URL para baixar o arquivo
    • watch jobs failed e notifica erros por e-mail ao administrador e solicitante
  • seta status do job no firebase enquanro executa o empacotamento do instalador com o node-pkg, produzindo um executável (.EXE)
  • seta status done do job no firebase com URL do executável e remove job da queue

Utiliza Node-pkg para empacotar o projeto Node em um arquivo executável, o qual é responsável em efetuar a instalação do Kit (programas vendidos pela empresa) em máquinas Servidor e Terminal.

-----------------------------------------------------

➤ Contributors

João Trepichio
João Trepichio

-----------------------------------------------------

➤ License

Licensed under ISC.

About

a simple NodeJS app acting as a kind of builder

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published