Skip to content

Overview

This project is a device management system that implements single session per device functionality, ensuring secure and controlled access across multiple devices. The system includes features for device authentication, session management, and administrative controls.

Requirements

Features

  • Single Session Per Device: Ensures only one active session per device
  • Device Authentication: Secure login system with rate limiting
  • Session Management: Advanced session handling with unique session IDs
  • Real-time Device Logout: Broadcast system for immediate device logout
  • Administrative Controls: Super admin capabilities for device management
  • Event Broadcasting: Real-time event system for device status updates

Architecture

The project is built on Laravel framework following MVC architecture pattern with the following components:

Core Components

  • Frontend: Built with Filament PHP admin panel framework
  • Backend: Laravel PHP framework
  • Database: PostgreSQL for data persistence
  • Cache: Redis/Valkey for session management
  • Broadcasting: Laravel Reverb for real-time events
  • Media Processing: FFmpeg for media handling

Security Features

  • Rate limiting on authentication attempts
  • Single session enforcement per device
  • Real-time session invalidation
  • Admin access controls
  • Secure session management through Redis

Broadcasting System

The system uses Laravel Reverb (v1.4) for real-time event broadcasting:

  • Handles device logout events
  • Manages real-time status updates
  • Ensures immediate session invalidation