Appearance
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.23. 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 componentsCore Components
Controllers
PexipController (
pexip/pexip_controller.dart)- Manages video call functionality
- Handles camera and audio controls
- Manages call state and connections
RealTimeController (
controllers/real_time_controller.dart)- Handles WebSocket connections
- Manages real-time updates
- Controls message broadcasting
AuthController (
controllers/auth_controller.dart)- Manages user authentication
- Handles session management
- Controls user permissions
MediaController (
controllers/media_controller.dart)- Handles media operations
- Manages file storage
- Controls camera operations
4. Development Setup
Prerequisites
- Flutter SDK (>=2.17.0 < 3.0.0)
- Android Studio / VS Code
- RealWear device or emulator
- Pexip account and credentials
Setup Steps
- Clone the repository
- Install dependencies:
bash
flutter pub get- Configure environment:
dart
// In lib/shared/config.dart
const String apiUrl = 'YOUR_API_URL';
const String pexipNode = 'YOUR_PEXIP_NODE';- Run the application:
bash
flutter runUI 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.