Pular para o conteúdo principal

150 documentos marcados com "interno"

Ver todas as etiquetas

API Backup

Plugin interno que expõe um endpoint para disparar um backup do banco de dados do ACCELERO e enviá-lo a uma URL de callback informada na requisição.

API de Integração v1

API REST v1 do Accelero para integração externa — eventos de acesso, log de operações, lotação de áreas e cadastro de visitas via Bearer Token

Aprovadores

Os Aprovadores são as pessoas, vinculadas a uma empresa, que recebem e decidem (aprovam ou rejeitam) os convites de visita. Eles operam pela aplicação dos…

Arquitetura

A Iongrade contrata servidores virtuais (até nov/2023 eram todos da DigitalOcean) e "abriga", em cada servidor, diversas instalações de Accelero. Em média, são 3 ou 4 Acceleros por servidor, mas depende muito do "tamanho do cliente".

Arquitetura básica de serviços

Existem diversos modelos de gateway (um para cada fabricante diferente de reconhecimento facial, por exemplo). Todos têm uma arquitetura muito parecida, mas pequenas diferenças entre si em função de particularidades de cada fabricante.

Asyncprocessor - geral

Esse serviço é responsável por executar diversas tarefas de modo assíncrono, geralmente "descarregando" operações feitas em tela por usuários (emissão de relatórios, por exemplo).

Aurum — Integração MQTT

Protocolo MQTT/JSON de integração entre a controladora Aurum e o servidor de controle de acesso — tópicos, mensagens, configuração e tabelas de referência.

Aurum — Manutenção e Produção

Manutenção e produção de fábrica da Aurum: jiga de testes, gravação de firmware (ESP32 e PIC), produção 4.4.0/4.5.0, memória Flash externa e reset de fábrica.

Backups

Todos os servidores SaaS executam diariamente uma rotina de backup automática (/etc/cron.daily/acceleroJobs) de todos os deploys daquele servidor.

Baixa de templates faciais

Quando a pessoa passa (acesso realizado letID=34) por um canal marcado para "Baixar visitantes", a seguinte lógica é executada pra cada modelo de facial habilitado (Hikvision, ControlID, etc...):

Barium — Fabricação (Montagem de Fábrica)

Montagem de fábrica do anunciador de áudio Barium — interior do case e chicote, placa CPU ESP32 montada na tampa e pinagem interna (POWER, CMD INPUT, LED, SPK, BUTTON, SIGNAL SOUND).

Barium — Integração MQTT (OpenBarium)

Protocolo MQTT/JSON OpenBarium do anunciador de áudio Barium — configuração MQTT no equipamento, tópicos, mensagens de comando e mensagens emitidas (status, info, keepalive).

Bibliotecas Dev "meio internas meio externas"

Várias bibliotecas/libs/dependências do Accelero são desenvolvimento próprio (Iongrade ou Alexandre), mas mantidas separadas pra que possam ser reaproveitadas em outros projetos. Por isso são "meio internas, meio externas". Alguns poucos exemplos:

Bore - conexão HTTP em on-premises

Às vezes não é suficiente acessar um servidor em on-premises via SSH reverso (vide ACCINFRA-A-11). Às vezes é preciso ter acesso à interface web do Accelero on-premises pra fazer algum procedimento, e isso é complicado.

Carbon — Integração MQTT

Configuração MQTT local do gateway SLT veicular Carbon: campos da tela de ajuste do broker, TLS, Facility Id, Device Id e conexão Accelero Cloud.

Clarity (telemetria de uso)

Ferramenta interna que injeta o script de analytics do Microsoft Clarity nas páginas do ACCELERO para a IONGRADE entender como o sistema é usado.

Clientes

A tela de Clientes mantém a base das pessoas jurídicas (por Razão Social e CNPJ) às quais as empresas do Accelero Visitas pertencem. O cliente é a camada…

Cobalt — Checklist de Firmware (QA)

Checklist de QA dos testes de firmware do módulo Cobalt após atualizações: carga de telas, persistência, navegação do webserver, comunicação RS485 e acesso por relé.

Cobalt — Manual de Fabricação (QD32)

Fabricação do quadro do módulo de I/O Cobalt (COBALT-QD32): lista de materiais, montagem mecânica e elétrica, padronização de cabeamento, gravação de firmware, testes de bancada, etiquetas e registro do produto.

Controle de acesso - workflow básico

Quando o service accessengine do Accelero recebe uma mensagem do tipo accreq de algum controlador, é iniciado um processo de "consulta online": alguém está solicitando acesso em um bloqueio, e o servidor deve analisar a solicitação pra ver se "libera ou não libera".

Controller padrão

Toda entidade que faz parte do ORM Accelero (e que portanto extends DefaultDBObjectPublicMethods) "ganha" automaticamente uma série de funcionalidades típicas de Controller:

Convites

A área de Convites reúne os convites de visita registrados no Accelero Visitas. Cada convite liga um visitante a um visitado (anfitrião), num local…

Convites recorrentes

Os Convites recorrentes são convites de visita que valem por um período (data início a data fim), em vez de uma única data — úteis para visitantes que…

DailySchedule

Esse serviço é responsável por executar "tarefas gerais" uma vez por dia (geralmente de madrugada, mas pode ser configurado).

Dashboard

Tela inicial do Painel. Mostra um panorama rápido do que existe na conta por meio de cards de indicadores (KPIs) e um gráfico de evolução de pessoas. É a…

Dashboard

O Dashboard (Painel de controle) consolida os indicadores da operação de visitas em cartões e gráficos, com seletor de período (ex.: "Últimos 7 dias"). Há…

Debuggar em produção

Tomara que você nunca precise fazer isso, mas é possível usar XDebug em ambientes de produção.

Dev

Aqui estarão artigos diretamente relacionados a DESENVOLVIMENTO

DevTools

Conjunto de ferramentas internas para desenvolvedores Accelero — gerador de licença, gerador de classes/plugins, bundles e conferência de dicionário.

Empresas

A tela de Empresas é o cadastro central dos locais atendidos pelo Accelero Visitas. Cada empresa é um tenant identificado por um slug (usado na URL…

Empresas — Espaços / Ambientes

Cadastro das áreas comuns reserváveis do condomínio (quadra, salão de festas, salão de jogos). Cada espaço define como pode ser reservado (Tipo de…

Empresas — FAQ

Cadastro das perguntas frequentes de um condomínio, exibidas ao morador no app. Cada item tem pergunta, resposta formatada, ordem de exibição e…

Empresas — Tipos de visita

Define os tipos de visita aceitos pelo condomínio (ex.: Visita, Prestador de serviços, Check-in) e a ordem em que aparecem. Esses tipos alimentam o fluxo…

Empresas — Unidades

Cadastro das unidades de um condomínio/empresa — apartamentos, salas, lojas (ex.: 1001 AA, AP 908). As unidades são o vínculo de localização das pessoas…

Empresas / Condomínios

Entidade central do produto. Uma empresa/condomínio agrega pessoas, unidades, espaços, FAQ, tipos de visita e a configuração de integração com o Controle…

Encomendas

Controle das encomendas recebidas na portaria: registro do pacote vinculado a uma unidade, acompanhamento do status e o fluxo de entrega (quem retirou +…

EventHandler e Interceptor

O Accelero usa bastante o design pattern "Observer" (ou algo parecido com esse pattern) pra garatir que as "coisas aconteçam" com a maior desacoplação de código possível.

EventoExpiredChecker

De 10 em 10 minutos, esse serviço verifica se existem visitas (Eventos) em aberto cujo horário máximo de saída já foi atingido (visitantes que deveriam ter ido embora, mas ainda não foram).

Excluir servidor

Excluir/aposentar um servidor deve ser um procedimento raríssimo. Mas, se for necessário...

Fabricação - Neon

Processo de produção em série da controladora Neon: testes de hardware, gravação de firmware, etiquetas, gabinete, embalagem e registro.

FormRequests validados

É possível usar no Accelero (v2.17.0 em diante) um sistema de "request validados", parecido com o sistema de validação de requests do Laravel.

GatewayRefresher

De hora em hora, são reenviadas as configurações de todos os gateways (quais devices eles devem cuidar, configurações gerais, etc...).

GIT - customizações

Temos um repositório GIT interno (git.iongrade.com.br) que serve para abrigar customizações de clientes.

Glossário

Termos usados em toda a documentação. O domínio é gestão de acesso a condomínios/empresas.

Glossário

Termos de domínio usados em toda a documentação do Accelero Visitas. Servem de referência rápida; cada conceito é detalhado na página da tela…

Hikvision - captura de fotos

Os devices faciais da Hikvision permitem que seja feita a captura de fotos em tempo real (para evitar o uso de webcams).

Hooks

O ORM permite o uso de hooks pra "pendurar" funcionalidades nas classes sem ter que alterar o código das classes-base.

Importação de fotos - Accelero

Às vezes (geralmente durante o início do sistema), o cliente manda fotos para serem importadas nos cadastros das pessoas do Accelero.

Inclusão de arquivos/classes JS

Se for necessário incluir novos arquivos JS (uma nova lib) ou incluir classes em arquivos já existentes (provavelmente accelero.js), seguir o seguinte procedimento:

Indium — Integração MQTT

Configuração da comunicação MQTT/Accelero Cloud da controladora Indium: campos da tela de ajuste do broker, TLS, Facility Id, Device Id e canal UDP.

Indium — Manutenção e Produção

Produção de fábrica da Indium: jiga de testes, roteador ionproduction, 2x Iodine simulando leitoras, loopback de Uarts, testes de hardware, registro de produção e gravação do firmware definitivo.

Integração com o Accelero

O Accelero Visitas se conecta ao Accelero (sistema de controle de acesso / portaria) para trocar dados de pessoas e visitas entre os dois lados. A…

Integração MQTT - IRIDIUM

Protocolo MQTT/JSON de integração entre o módulo de I/O IRIDIUM e o servidor — tópicos, variáveis de entrada/saída, mensagens, configuração e tabelas de referência.

Integração MQTT - Neon

Protocolo OpenION (MQTT/JSON) de integração entre a controladora Neon e o servidor de controle de acesso — tópicos, mensagens, configuração e tabelas de referência.

IntegrationPendencyRetrier

Quando há integração com dispositivos biométricos externos, o Accelero precisa administrar problemas-de-envio-de-templates e retries. Esse serviço cuida dos retries.

Iodine — Referência de Engenharia

Referência de engenharia do conversor de protocolos Iodine (placa série Titanium) com leitor QR Sh-400: esquemático elétrico, etiqueta do cabo Wiegand/ABAtrack, specs de engenharia do leitor QR e índice dos materiais de terceiros mantidos na engenharia.

IonPulse Agent

Integração que relaya eventos de acesso, alarmes e reports periódicos do ACCELERO para a plataforma IonPulse via MQTT, com login remoto e fotos pré-assinadas.

JobStatusUpdater

Esse serviço tem uma única função: enviar periodicamente para o Ozone o status geral do sistema.

Kalium — Integração MQTT

Protocolo MQTT/JSON de integração entre o gateway BLE Kalium (e as antenas Scandium) e o servidor de controle de acesso — tópicos, mensagens, configuração e tipos de beacon.

Keepalive

Esse talvez seja o serviço mais simples e importante do Accelero. Três coisas são gerenciadas por esse serviço:

Lançamento de novas versões

Pra lançar uma nova versão de alguma coisa (Accelero, gateway, concentrador, etc...) é necessário cumprir algumas burocracias.

LicenseUpdater

Esse serviço é responsável por enviar para o Ozone dados estatísticos a respeito do uso do sistema (versão, módulos, licença, etc...).

LoggedUserCleanupJob

O Accelero tem dois controles envolvendo usuários/operadores: (1) quem está logado; (2) quem está ativo.

Logger centralizer - Telegram

Conforme explicado em ACCINFRA-A-9, existe um serviço (logger_centralizer) que roda no servidor diacetyl que faz a centralização de logs de erros de todos os servidores.

Logger de mensagens de facial

Ferramenta interna de diagnóstico que registra em log as mensagens trocadas entre o ACCELERO e o gateway facial no cadastro e remoção de templates.

Logs

Visualizador dos logs de atividades do sistema. Permite escolher um arquivo de log e inspecionar seu conteúdo bruto direto no Painel — ferramenta de…

Logs e analytics

A área de Logs (em Monitoramento) registra os eventos do sistema — execução de jobs, notificações via chatbot, sincronizações com o Firebase/RTDB e…

LongRunningJobs

São serviços que ficam em execução o tempo todo, se auto-gerenciando (em oposição ao conceito de response/request).

Manutenção

A Iongrade tem diversos servidores, cada um "abrigando" algumas instalações de Accelero. Não é uma regra, mas até nov/2023 todos os servidores eram da DigitalOcean. Não existe uma padronização da configuração do servidor nem do ponto de vista de sistema operacional (todos são Ubuntu, mas alguns com 20.x, outros com 22.x, outros com 23.x, etc...) nem do ponto de vista de hardware (a maior parte é o "mais barato possível", com 1 CPU, 1GB de RAM e 25GB de disco, mas há exceções).

Manutenção e Produção - IRIDIUM

Manutenção e produção de fábrica do módulo de I/O IRIDIUM: jiga de testes, inspeção de PCI/jumpers, gravação de firmware de testes, execução dos testes, tabela falha→componentes e esquemáticos elétricos.

Migração completa de servidor - servidor antigo acessível

Se for necessário migrar todos os deploys de um servidor para outro, deve-se seguir o seguinte procedimento (considerando que o servidor antigo ainda está acessível via SSH -- se não estiver, o buraco é mais embaixo e o procedimento é outro).

Migração completa de servidor - servidor antigo inacessível

Se for necessário migrar todos os deploys de um servidor para outro, deve-se seguir o seguinte procedimento (considerando que o servidor antigo está INACESSÍVEL via SSH -- pior cenário possível). Se o servidor antigo estiver acessível, mesmo que "mais ou menos", o procedimento é outro.

Migrations

Quando é feito upgrade de versão do Accelero, pode ser necessário fazer alguns updates/ajustes que não acontecem "no nível do GIT", como migração de DB.

Moderação de pessoas

Fila de aprovação de cadastros de moradores. Quando uma pessoa se cadastra (ex.: pelo app), o registro fica pendente aqui até um administrador aprovar ou…

Moderação de reservas

Fila de aprovação das reservas de espaços/ambientes feitas pelos moradores. O administrador revê cada solicitação e aprova, rejeita ou edita a reserva…

Monitoramento em tempo real

Em algumas situações é desejável criar uma forma de visualização de informações em tempo real (logs, por exemplo).

MovePessoasJob

A função desse serviço é, em determinados momentos, alterar a "área atual" de pessoas.

Notificações

Envia e acompanha comunicados/notificações aos moradores (push no app). Permite direcionar a mensagem por condomínio, por unidades específicas ou por…

Novo servidor

É comum ter que criar um novo servidor (precisa instalar um novo Accelero, e os servidores atuais já "estão cheios", por exemplo).

Onboarding de nova empresa

Roteiro cross-tela para colocar uma nova empresa no ar no Accelero Visitas — do cadastro inicial até o ponto em que visitantes conseguem fazer o check-in…

Onboarding de uma nova empresa

Fluxo de inicialização de um novo cliente que vai usar o app integrado ao Controle de Acesso. É o dia a dia do time de suporte ao receber uma nova…

ORM

O Accelero possui um ORM interno baseado no paradigma Active Record.

Ozone - configuração de licenças Accelero

As licenças/módulos do Accelero são dinâmicas. Toda hora são inventadas coisas novas licenciáveis (problema técnico) e toda hora são inventados pacotes novos (problema comercial). Toda essa bagunça pode ser organizada no Ozone.

Pesquisa de satisfação

A Pesquisa de satisfação permite montar e acompanhar questionários aplicados em torno da experiência de visita. Cada pesquisa tem um título, pode ser…

Pessoas

Cadastro dos moradores / usuários finais do App (proprietário, locatário, funcionário). Cada pessoa tem documento, contato, senha e vínculo com…

Poll

O jeito mais simples de se fazer, mas o menos eficiente/menos real-time.

Preloading

O PHP possui, a partir da versão 7.4, um recurso chamado PRELOADING.

Queueprocessor

Esse serviço é responsável por executar tarefas "com hora pra acontecer". Se algo deve acontecer "à meia noite", ou "de 10 em 10 minutos" ou qualquer outra regra que envolva horários, esse é o serviço que assume a responsabilidade.

Reboot de servidor

Por diversos motivos, pode ser necessário dar um boot em algum servidor.

Recursos gerais

Explicação geral de como funcionam recursos/módulos do sistema.

Relatórios

Gera relatórios sob demanda (ex.: de Pessoas) com filtros, e mantém um histórico dos relatórios solicitados para download. O processamento é assíncrono …

Rotas HTTP

A configuração de rotas HTTP do Accelero é bem simples/padrão.

SchedulerJob

A função desse serviço é executar "scripts adhoc em intervalores regulares", geralmente para customizações de clientes.

Selenium — Integração MQTT

Configuração da comunicação MQTT/Accelero Cloud dos gateways de elevador Selenium: campos da tela de ajuste do broker, TLS, Facility Id e Device Id, comum às variantes Atlas Schindler, ThyssenKrupp e controle de botões.

Serviços diacetyl

O diacetyl é um servidor especial da Iongrade. Não tem deploys de Accelero, mas tem vários serviços importantes. Muita coisa depende dele, e mantê-lo funcionando é PRIORIDADE ZERO para bom funcionamento de todos os Accelero.

Serviços periódicos

São serviços administrados pelo QueueProcessor, executados e gerenciados por esse serviço. Não têm "vida própria".

SpyGlass — Captura de requests HTTP

Ferramenta interna de diagnóstico que registra em log todos os requests HTTP recebidos pelo ACCELERO (timestamp, usuário, método e path) para análise técnica.

SSE

SSE (Server Side Event) é o primo pobre do Websocket. É bem mais simples de implementar do que um Websocket (é um request HTTP normal), mas é unidirecional (apenas o server manda eventos).

SSE com Shared Worker

Usa a mesma arquitetura da solução com SSE, mas move-se o processo Javascript para um Shared Worker que opera em background no browser.

Subir novo Accelero SaaS

Em geral, a necessidade de "subir" um novo Accelero vem como resultado de uma venda realizada pelo departamento comercial. É enviado um e-mail para alguém do time de devops solicitando um novo deploy.

Suporte Interno

Documentação destinada ao time de suporte interno da Accelero.

Suporte Interno

Documentação destinada ao time de suporte interno do Accelero Visitas.

Titanium — Integração MQTT

Configuração da comunicação MQTT/Accelero Cloud da controladora Titanium: campos da tela de ajuste do broker, TLS, Facility Id, Device ID e canal UDP.

Titanium — Manutenção e Produção

Produção de fábrica da Titanium: jiga de testes, roteador ionproduction, loopback de leitores↔inputs e de Uarts, testes de hardware, registro de produção e gravação do firmware definitivo.

Tratamento de keepalives pelo Accelero

Todas as vezes que um gateway envia uma mensagem de keepalive para o Accelero (tópico padronizado ///keepalive) o serviço async_processor do Accelero dispara um "tratador genérico de keepalives de gateways" (classe GenericKeepalive).

Unidades

As Unidades representam os locais/estruturas de uma empresa (por exemplo, prédios, lojas ou filiais) e, dentro de cada unidade, os Departamentos. Elas…

Usuários

Gerencia os usuários do Painel — os operadores administrativos que acessam o sistema (não confundir com Pessoas/moradores, ver Pessoas). Cada usuário tem…

Usuários

A tela de Usuários concentra o cadastro e a gestão das pessoas que acessam o painel administrativo do Accelero Visitas. É aqui que se define quem entra no…

Visitas

Lista as visitas registradas — visitantes indo a uma unidade, com janela de validade e status. É o registro operacional que conecta morador, visitante e…

Visitas em grupo

Permite convidar vários visitantes de uma vez (ex.: festa, evento), com um link de convite compartilhável e uma lista de convidados. É o mecanismo de…

Visitas recorrentes

Lista as visitas recorrentes — visitantes que se repetem ao longo de um período (ex.: prestador fixo, diarista, professor), evitando recriar a visita a…