Skip to content

HVC XR

1. Introduction

HVC XR is a Flutter-based mobile application designed for RealWear devices, providing enterprise-grade video conferencing capabilities with advanced features like camera control, audio management, and real-time communication.

2. Technical Stack

Core Technologies

  • Framework: Flutter (SDK >=2.17.0 < 3.0.0)
  • State Management: GetX
  • Database: ObjectBox
  • Video Conferencing: Pexip with WebRTC
  • Real-time Communication: SignalR
  • Push Notifications: OneSignal

Key Dependencies

yaml
dependencies:
  hippo_web_rtc: Custom WebRTC implementation
  get: ^4.3.8
  objectbox: ^1.5.0
  signalr_core: ^1.1.1
  onesignal_flutter: ^5.0.2
  permission_handler: ^9.2.0
  wakelock: ^0.6.2

3. Project Architecture

Directory Structure

lib/
├── controllers/     # Business logic and state management
├── data/           # Database and data models
├── hlk_helpers/    # Utility functions and extensions
├── models/         # Data models
├── pexip/          # Video conferencing implementation
├── shared/         # Shared utilities and constants
├── views/          # UI screens
└── widgets/        # Reusable UI components

Core Components

Controllers

  1. PexipController (pexip/pexip_controller.dart)

    • Manages video call functionality
    • Handles camera and audio controls
    • Manages call state and connections
  2. RealTimeController (controllers/real_time_controller.dart)

    • Handles WebSocket connections
    • Manages real-time updates
    • Controls message broadcasting
  3. AuthController (controllers/auth_controller.dart)

    • Manages user authentication
    • Handles session management
    • Controls user permissions
  4. MediaController (controllers/media_controller.dart)

    • Handles media operations
    • Manages file storage
    • Controls camera operations

4. Development Setup

Prerequisites

  1. Flutter SDK (>=2.17.0 < 3.0.0)
  2. Android Studio / VS Code
  3. RealWear device or emulator
  4. Pexip account and credentials

Setup Steps

  1. Clone the repository
  2. Install dependencies:
bash
flutter pub get
  1. Configure environment:
dart
// In lib/shared/config.dart
const String apiUrl = 'YOUR_API_URL';
const String pexipNode = 'YOUR_PEXIP_NODE';
  1. Run the application:
bash
flutter run

UI Guidelines

  • Follow Material Design principles
  • Implement responsive layouts
  • Handle orientation changes

This documentation provides a comprehensive guide for developers working on the HVC XR project. For specific implementation details, refer to the inline documentation in the source code.

Released under the MIT License.