Visão Geral
Este projeto é um sistema de gerenciamento de dispositivos que implementa a funcionalidade de sessão única por dispositivo, garantindo acesso seguro e controlado em múltiplos dispositivos. O sistema inclui recursos para autenticação de dispositivos, gerenciamento de sessões e controles administrativos.
Requisitos
- PHP 8.3
- PostgreSQL
- Redis / Valkey
- FFmpeg (https://ffmpeg.org/download.html)
Funcionalidades
- Sessão Única por Dispositivo: Garante apenas uma sessão ativa por dispositivo
- Autenticação de Dispositivos: Sistema de login seguro com limitação de tentativas
- Gerenciamento de Sessões: Controle avançado de sessões com IDs únicos
- Logout de Dispositivo em Tempo Real: Sistema de broadcast para logout imediato
- Controles Administrativos: Capacidades de super admin para gerenciamento de dispositivos
- Broadcast de Eventos: Sistema de eventos em tempo real para atualizações de status dos dispositivos
Arquitetura
O projeto é construído sobre o framework Laravel seguindo o padrão MVC com os seguintes componentes:
Componentes Principais
- Frontend: Construído com o framework de painel administrativo Filament PHP
- Backend: Framework Laravel PHP
- Banco de Dados: PostgreSQL para persistência de dados
- Cache: Redis/Valkey para gerenciamento de sessões
- Broadcast: Laravel Reverb para eventos em tempo real
- Processamento de Mídia: FFmpeg para manipulação de mídia
Recursos de Segurança
- Limitação de tentativas na autenticação
- Aplicação de sessão única por dispositivo
- Invalidação de sessão em tempo real
- Controles de acesso de administrador
- Gerenciamento seguro de sessões via Redis
Sistema de Broadcast
O sistema utiliza Laravel Reverb (v1.4) para broadcast de eventos em tempo real:
- Gerencia eventos de logout de dispositivos
- Gerencia atualizações de status em tempo real
- Garante invalidação imediata da sessão