Expand description
§LockWise Back-end
Serviços de back-end para o sistema LockWise, construído com Rust (Rocket) para a API principal e Python (FastAPI) para o serviço de reconhecimento de voz, utilizando PostgreSQL para armazenamento e MQTT para comunicação em tempo real.
§Funcionalidades
- Gerenciamento de Usuários: Ver
userpara autenticação e contas de usuário - Gerenciamento de Dispositivos: Ver
devicepara registro e controle remoto - Convites Temporários: Ver
invitepara compartilhamento de acesso - Comunicação MQTT: Ver
mqttpara mensagens e heartbeats - Autenticação por Voz: Registro e verificação usando SpeechBrain (serviço Python)
- Logs de Acesso: Histórico de operações em dispositivos
- Configuração Remota: Atualização de parâmetros via MQTT
§Arquitetura
O back-end utiliza uma arquitetura baseada em microserviços leves:
- Serviço Principal (Rust): API REST com Rocket, gerenciamento de usuários e dispositivos
- Serviço de Voz (Python): Reconhecimento de voz com SpeechBrain e FastAPI
- Banco de Dados: PostgreSQL para persistência de dados
- Comunicação: MQTT para controle em tempo real dos dispositivos
§Configuração
Consulte o README.md para instruções detalhadas de configuração e execução.
Modules§
- device 🔒
- Módulo para gerenciamento de dispositivos.
- invite 🔒
- Módulo para gerenciamento de convites.
- mqtt 🔒
- Módulo para comunicação MQTT.
- user 🔒
- Módulo para gerenciamento de usuários.
Structs§
- Homepage
Url - Invólucro para a URL da página inicial para redirecionamentos
- Speechbrain
Url - Invólucro para a URL do serviço SpeechBrain
- Token
- Invólucro para token JWT dos cabeçalhos da requisição.
Statics§
- PENDING_
CONFIG_ UPDATES - Armazenamento global para atualizações de configuração pendentes
- PENDING_
PINGS - Armazenamento global para pings pendentes
- RECENT_
COMMANDS - Armazenamento global para comandos recentes
Functions§
- health 🔒
- Endpoint de verificação de saúde retornando “OK”.
- index 🔒
- Endpoint raiz que redireciona para a página inicial configurada.
- main 🔒
- Ponto de entrada principal do serviço de back-end LockWise. Inicializa banco de dados, cliente MQTT, configura tabelas, inicia manipulador de eventos MQTT, tarefa de limpeza de logs e lança o servidor HTTP Rocket.
Type Aliases§
- Pending
Config 🔒Updates - Rastreia solicitações de atualização de configuração pendentes com canal de resposta
- Pending
Pings 🔒 - Rastreia solicitações de ping pendentes com timestamp e canal de resposta
- Recent
Commands 🔒 - Armazena comandos recentes enviados aos dispositivos com timestamp para desduplicação