Estamos buscando um desenvolvedor experiente para criar um sistema local Windows que atuará como ponte entre catracas TopData e nosso sistema web existente, que utiliza Supabase como backend. O sistema web já está funcional; o foco deste projeto é o desenvolvimento exclusivo do módulo local de integração.
O objetivo principal é estabelecer uma comunicação robusta e confiável entre as catracas físicas e a plataforma em nuvem, garantindo a sincronização de dados e o registro de eventos em tempo real.
Funcionalidades Essenciais:
* Conexão com Catracas TopData: O sistema deverá se conectar às catracas TopData utilizando o SDK oficial fornecido pelo fabricante.
* Sincronização de Usuários: Consultar periodicamente o Supabase para obter a lista de usuários autorizados e suas permissões de acesso.
* Atualização de Permissões: Atualizar as permissões de acesso diretamente nas catracas, conforme os dados do Supabase.
* Registro de Eventos: Registrar todos os eventos de passagem (entrada e saída) das catracas e enviá-los ao Supabase através de uma rest api.
* Operação em Segundo Plano: O aplicativo deve ser capaz de rodar automaticamente no ambiente Windows, seja como um serviço ou um aplicativo em segundo plano.
* Resiliência e Logging: Implementar armazenamento de logs locais e mecanismos de reconexão automática em caso de falha na rede ou comunicação com o Supabase.
Requisitos Técnicos:
* Linguagem de Programação: Preferencialmente C# (.NET 6+) ou
Node.js (com edge-js para interação com o ambiente Windows).
* Experiência com SDKs de Catracas: Conhecimento prévio em integração com SDKs de catracas (TopData, Henry, Control ID ou similares) será um diferencial importante.
* Integração de Dados: Experiência comprovada com integrações rest api e manipulação de dados em bancos de dados (supabase/postgresql).
Entregáveis:
* Aplicativo Windows funcional (.exe ou serviço Windows).
* Código-fonte completo, limpo e devidamente documentado.
* Arquivo de configuração (ex:
config.json) e um guia detalhado de instalação e configuração.
Prazo de Entrega: Não estabelecido