Component Architecture
Comprehensive breakdown of Playcast's component architecture, including detailed specifications, interface definitions, dependency relationships, and inter-component communication patterns.
Core Components
Host Frontend
Presentation Layer • React Application
StableModern React-based frontend application providing the primary user interface for game streaming, real-time controls, and user interaction management.
- Framework React 18.3.1
- Language TypeScript
- Styling Tailwind CSS
- State Management React Context + Hooks
- Build Tool Vite
Electron Host
Application Layer • Desktop Runtime
StableCross-platform desktop application runtime providing system integration, native API access, and bridge between web frontend and system resources.
- Runtime Electron 36.2.0
- Node Version Node.js 20+
- Architecture Multi-process
- Communication IPC (Inter-Process)
- Security Context Isolation
Realtime API
Service Layer • Java WebRTC Server
StableHigh-performance Java service handling WebRTC signaling, real-time communication protocols, and peer connection management for low-latency streaming.
- Runtime Java 17+
- Framework Spring Boot
- Protocol WebRTC, WebSocket
- Threading Multi-threaded
- Memory Model Optimized GC
Playjector Engine
System Layer • C++ Game Capture
StableNative C++ engine responsible for game process capture, hardware-accelerated video encoding, and virtual input device management for seamless gaming experiences.
- Language C++ 17
- Graphics API DirectX 11/12
- Input System ViGEm Bus Driver
- Encoding Hardware Accelerated
- Memory Management Custom Allocators
Node Service
Service Layer • Backend API
StableRESTful API service providing business logic, user management, game catalog operations, and integration with external services and databases.
- Runtime Node.js 20+
- Framework Express.js
- Database PostgreSQL
- Cache Redis
- Documentation Swagger/OpenAPI
Metrics Service
Service Layer • Analytics Pipeline
BetaAnalytics and monitoring service collecting performance metrics, user behavior data, and system health information for insights and optimization.
- Runtime Node.js 20+
- Telemetry OpenTelemetry
- Storage BigQuery
- Processing Stream + Batch
- Visualization Custom Dashboards
Component Dependencies
Component Lifecycle
Inter-Component Communication
- Frontend → Electron IPC calls
- Node Service → Database queries
- Realtime API → Connection management
- Playjector → Game process API
- WebRTC signaling events
- Game state change notifications
- User input event streams
- System health monitoring
- WebRTC media stream transport
- Game video frame pipeline
- Input event data channels
- Audio stream synchronization
- Session lifecycle events
- Quality metric updates
- Error reporting system
- Configuration changes
- RESTful API endpoints
- Authentication requests
- Game catalog queries
- User profile management
- Analytics data aggregation
- Performance report generation
- Log file processing
- Usage statistics compilation