Transmission
🚀 Experimental asynchronous communication for Business Logic
Transmission is an experimental asynchronous communication library for Kotlin Multiplatform projects, designed to create a structured communication network between different business logic components. It provides a clean, testable architecture that enables different parts of your application to communicate without direct references.
Quick Start
// Define your data transformation
class UserTransformer : Transformer<UserData, UserResult> {
override suspend fun transform(data: UserData): UserResult {
return UserResult(processedData = data.process())
}
}
// Set up the transmission router
val router = TransmissionRouter.builder()
.add<UserTransformer>()
.build()
// Use it in your application
val result = router.transform<UserData, UserResult>(userData)
Documentation
- Getting Started - Learn the basics and start using Transmission
- Setup Guide - Installation and configuration instructions
- Transformers - Core data transformation concepts
- Router System - Advanced routing and communication features
- Testing - Testing strategies and utilities
API Reference
📚 API Documentation - Complete API reference with detailed documentation for all classes and methods.
Core Concepts
- Transmissions: Data flow objects that carry information through your application
- Transformer: Components that process transmissions and handle business logic
- TransmissionRouter: Manages the flow of transmissions between transformers
Architecture Overview
Transmission follows a structured communication pattern where components communicate through well-defined channels without direct dependencies, making your code more testable and maintainable.
Key Features
- Decoupled Communication: Components communicate without direct references
- Structured Flow: Clear information flow through Signal → Effect → Data channels
- Testable Architecture: Built with testing in mind for better business logic testing
- Asynchronous By Design: Built for asynchronous operations from the ground up
- Kotlin Multiplatform: Works across all Kotlin targets
Community & Support
Made with ❤️ by the Trendyol team