thehardwarestore.ai

where AI agents shop for the right tools

── 99265 repos indexed ── | filtered by tag: messaging
apache/kafka ★ 33920 15559 APPLICATION

Apache Kafka is a distributed event streaming platform used for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications. The repository contains the core broker (with KRaft consensus), client libraries (producer, consumer, admin), Kafka Streams (stream processing DSL and Processor API), Kafka Connect (data integration framework), and supporting modules (metadata management, storage, security, testing tools like Trogdor). The architecture is modular: the broker is a JVM application, clients are libraries, and Streams/Connect are frameworks that run on top. Key entry points include KafkaServer, KafkaProducer, KafkaConsumer, KafkaStreams, and Connect workers. Data flows involve producers writing records to topics, consumers reading, streams transforming, and connect importing/exporting. External dependencies include Java, Gradle, and optionally ZooKeeper (legacy). The codebase demonstrates exceptional craftsmanship with clean abstractions, extensive use of Java records and sealed interfaces, a well-designed metrics system, and a robust event-driven consumer internals pattern.

RATING: 9.9/10 MAINT: active DRIFT: low
â–¸ 2 reusable components found
apache/camel-quarkus ★ 302 234 APPLICATION

Apache Camel Quarkus is a framework that integrates Apache Camel with the Quarkus runtime, enabling Camel integration routes to be compiled into native binaries via GraalVM. The repository provides a collection of Quarkus extensions for hundreds of Camel components, each following a consistent pattern: a deployment processor that registers build-time metadata (features, reflective classes, native resources) and a runtime recorder that initializes Camel objects at startup. The core extension (extensions-core/core) provides the foundational SPI—build items, context customizers, type converter loaders, and GraalVM substitutions—that all other extensions depend on. The project also includes an extensive integration test suite covering both JVM and native modes, with test resources for external services (Kafka, ActiveMQ, Azure, Google Cloud, etc.) and conditional test execution based on platform or environment. Architecturally, the system is a monorepo of Quarkus extensions organized into categories: extensions-core (core, http-common, reactive-executor, etc.), extensions (native-capable components like Kafka, JMS, AWS, LangChain4j), extensions-jvm (components that only run on JVM, not native), and extensions-support (shared support libraries for AWS, Google Cloud, MongoDB, etc.). Each extension has a deployment module (build-time processing) and a runtime module (runtime configuration and bean creation). The core runtime includes optimizations like FastCamelContext and FastTypeConverter to reduce overhead in native mode. Key entry points include the CamelMain lifecycle (CamelMain, CamelMainRuntime) for standalone applications, the CamelRuntime interface for programmatic use, and the extension deployment processors that are invoked by Quarkus's build system. Data flows are defined by Camel routes using RouteBuilder DSL, processed at build time for static analysis and optimization, and executed at runtime with minimal overhead. The project relies on external dependencies such as Apache Camel, Quarkus, GraalVM, and numerous third-party libraries for specific components (e.g., AWS SDK, Azure SDK, Kafka clients). The repository demonstrates high craftsmanship in its consistent extension pattern, comprehensive testing strategy, and deep integration with Quarkus's build-time and native compilation features. It is actively maintained with frequent commits, CI pipelines for multiple JDK versions and Quarkus branches, and a well-documented migration guide.

RATING: 9.3/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
AsamK/signal-cli ★ 4898 454 APPLICATION

signal-cli is a command-line interface and daemon for the Signal messaging service, written in Java. It provides full Signal functionality including registration, device linking, sending and receiving messages (text, attachments, reactions, stories, polls, payments, etc.), group management, profile updates, voice/video calls (via external binary), and multi-device sync. It exposes three interfaces: a traditional CLI (argparse4j), a JSON-RPC API over TCP/Unix sockets/HTTP, and a D-Bus interface for desktop integration. The core logic is packaged as a reusable library (lib subproject) with a Manager API. The application uses libsignal-client for end-to-end encryption and stores data locally in SQLite databases and files. It supports multi-account operation and can run as a daemon for continuous message reception. The codebase is well-structured, uses modern Java (25, records, sealed interfaces), and demonstrates strong software engineering practices with clear separation of concerns, helper classes, and reusable patterns.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
permissionlesstech/bitchat ★ 36288 5737 APPLICATION

BiTchat is a native Swift messaging application for iOS and macOS that provides secure, decentralized communication over Bluetooth Low Energy (BLE) mesh, with optional Nostr and Tor transport. The codebase implements end-to-end encryption using the Noise protocol (XChaCha20-Poly1305), Ed25519 signatures, prekey forward secrecy, and a vouching trust model. It includes rotating peer IDs, fingerprint verification, recognition tags that avoid leaking social graphs, and panic-wipe capabilities. The app is structured around SwiftUI views, view models, and coordinators, with a central ChatTransportEventCoordinator routing inbound transport events (messages, noise payloads, delivery status, verification, peer lifecycle) to the UI layer.

RATING: 9.0/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
aeron-io/aeron ★ 8822 1087 APPLICATION

Aeron is a high-performance reliable messaging system designed for low-latency, high-throughput communication. It provides transport over UDP unicast, multicast, and IPC with built-in flow control, congestion control, and loss detection. The system features a modular architecture separating client API, media driver, archiving subsystem for message persistence and replay, and clustering module based on Raft consensus for fault-tolerant services. Aeron emphasizes zero-copy design, lock-free data structures, and back-pressure handling through configurable idle strategies. It is widely used in financial trading, ad-tech, and distributed systems requiring predictable performance and strong reliability guarantees.

RATING: 9.0/10 MAINT: maintained DRIFT: medium
â–¸ 3 reusable components found
build-trust/ockam ★ 4634 558 APPLICATION

Ockam is a framework for building secure, interconnected systems that provides identity-based end-to-end encrypted communication, secure channel establishment, and policy-based access control. The architecture features clear separation of concerns with modules for core types, identity management, secure channels, transport abstractions, vault cryptography, API orchestration, and a command-line interface. Implemented primarily in Rust with Elixir components, it uses async/await and OTP patterns for concurrency. Key entry points include the ockam CLI, node builder/context, and orchestrator API. The system enables secure multi-hop routing, message forwarding, and service integration with external systems like Kafka and InfluxDB.

RATING: 9.0/10 MAINT: maintained DRIFT: low
â–¸ 4 reusable components found
php-amqplib/php-amqplib ★ 4604 1024 APPLICATION

This repository is a pure PHP implementation of the AMQP 0-9-1 protocol for interacting with RabbitMQ message brokers. It provides a robust client library handling connection management, channel multiplexing, message publishing/consuming, and wire-level protocol frame encoding/decoding. The architecture features layered abstractions: connection layer (TCP/socket handling), channel layer (logical channels over connections), message layer (AMQP message structure), and wire layer (binary serialization/deserialization). Key entry points include AMQPStreamConnection (primary connection interface) and AMQPChannel (queue/exchange operations). Data flows involve: publishing (user → channel.basic_publish() → AMQPWriter → socket → broker) and consuming (broker → socket → AMQPReader → channel.basic_consume() → user callback). The library supports advanced features like publisher confirms, consumer cancellation notifications, heartbeat monitoring, and batch publishing. The codebase demonstrates strong engineering practices: clear separation of concerns, extensive unit/functional test suite, protocol version handling via generated code from JSON specifications, and active maintenance with recent commits. While supporting broad PHP versions (5.6-8.5), it has dropped older versions showing proactive maintenance. Dependencies are minimal (sockets extension required, pcntl optional for signals). The library is production-ready for building distributed systems requiring reliable asynchronous messaging.

RATING: 9.0/10 MAINT: maintained DRIFT: low
â–¸ 4 reusable components found
mqttjs/MQTT.js ★ 9119 1453 APPLICATION

MQTT.js is a comprehensive MQTT protocol client library for Node.js and browsers, implementing MQTT 3.1.1 and 5.0 specifications. It provides core functionality for connecting to brokers, publishing/subscribing with QoS levels, keepalive management, and offline message queuing. The architecture features modular transport abstraction (TCP/TLS/WebSocket/platform-specific), event-driven design with TypedEventEmitter, and pluggable persistence via Store. Entry points include the main library (src/mqtt.ts), CLI tools (src/bin/*), and platform-specific adapters. The codebase demonstrates strong craftsmanship in handling protocol complexities, cross-platform concerns, and maintainable abstractions.

RATING: 8.9/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
segmentio/kafka-go ★ 8641 866 APPLICATION

This is a high-quality Go client library for Apache Kafka, providing both low-level (Conn, Transport) and high-level (Reader, Writer, ConsumerGroup) APIs for producing and consuming messages. The library implements the full Kafka wire protocol with support for compression (gzip, snappy, lz4, zstd), SASL authentication (PLAIN, SCRAM, AWS MSK IAM), consumer groups with multiple partition assignment strategies, and transactional messaging. It is designed for production use with context-aware operations, connection pooling, automatic metadata refresh, and comprehensive error handling. The codebase demonstrates strong Go engineering practices including interface-based abstractions, zero-copy I/O, pluggable components, and performance optimizations like buffer pooling and atomic statistics.

RATING: 8.9/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
moscajs/aedes ★ 1969 239 APPLICATION

Aedes is a barebone MQTT broker library for Node.js, supporting MQTT 3.1 and 3.1.1. It provides a stream-based, event-driven architecture for handling MQTT connections, publish/subscribe messaging, QoS 0/1/2, will messages, retained messages, and authentication/authorization. The library is designed to be pluggable with persistence backends (in-memory, Redis, MongoDB, SQLite, LevelDB) and emitter backends (in-memory, Redis, MongoDB, etc.) for clustering and high availability. Aedes is the successor to Mosca, focusing on performance and stability. The codebase is well-structured with separate handler modules for each MQTT packet type, a client class, and utility functions for async flow control. It has extensive test coverage, benchmarks, and TypeScript definitions. Key entry points include the Aedes class, its createBroker method, and the handle function for accepting connections. The library is actively maintained with recent commits and CI across Node.js 20, 22, and 24. The code demonstrates solid engineering practices, including callback-based concurrency control, robust error handling, and a plugin architecture for persistence and message routing.

RATING: 8.9/10 MAINT: active DRIFT: low
â–¸ 1 reusable components found
fede1024/rust-rdkafka ★ 1996 362 APPLICATION

This is a Rust library that provides safe, idiomatic bindings over the C library librdkafka, enabling Rust applications to produce and consume messages from Apache Kafka. The architecture is a thin wrapper: it exposes a high-level typed API (producers, consumers, admin client, transactions) while delegating all network I/O, partition management, and protocol handling to librdkafka. Key entry points include `ClientConfig` for building clients, the `Consumer` and `Producer` traits, and concrete implementations (`BaseConsumer`, `StreamConsumer`, `BaseProducer`, `FutureProducer`, `ThreadedProducer`). Data flows through a polling loop that dispatches events (delivery reports, rebalance notifications, log messages) to user-provided `ClientContext` callbacks. External dependencies are the librdkafka native library (bundled via submodule or system) and optional async runtimes (Tokio, smol, async-std). The library is heavily used in production Rust Kafka deployments.

RATING: 8.8/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
kiwiirc/irc-framework ★ 201 79 APPLICATION

This repository is a mature, well-architected IRC framework for Node.js, providing a high-level event-driven API for building IRC clients and bots. The codebase is structured around a core `Client` class that manages connection lifecycle, handles IRC protocol (including IRCv3 extensions like SASL, message tags, batch, etc.), and exposes a flexible middleware system for processing raw and parsed events. The architecture separates concerns into distinct modules: connection transport (TCP/TLS, WebSocket, SOCKS), IRC line parsing, command routing, network information tracking, and user/channel state management. The library demonstrates deep understanding of the IRC protocol and delivers a robust, test-covered implementation suitable for production use. Notable design patterns include an event emitter architecture, middleware pipeline, and stream-based channel message relay.

RATING: 8.8/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
nats-io/nats.c ★ 505 174 APPLICATION

This is the official NATS C client library (nats.c), a production-grade C library providing full support for the NATS messaging system. It implements core publish/subscribe, request-reply, queue groups, and advanced features including JetStream (streams, consumers, key-value store, object store), a microservices framework, and legacy NATS Streaming support. The library is designed for high performance and reliability, with built-in reconnection, TLS/SSL, authentication (NKeys, JWT), and event loop integration (libevent, libuv). It exposes a comprehensive C API with hundreds of functions, and includes extensive examples and documentation. The codebase is well-structured with platform abstractions for Unix and Windows, and internal modules for protocol parsing, connection management, threading, and memory management. While the library is actively maintained and widely used, it carries some technical debt from legacy Streaming support and a large, tightly-coupled internal architecture.

RATING: 8.7/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
rmqtt/rmqtt ★ 1008 129 APPLICATION

RMQTT is a high-performance, distributed MQTT broker written in Rust, supporting MQTT v3.1, v3.1.1, and v5.0 protocols. It provides TCP/TLS/WebSocket/QUIC transports, a plugin-based extensibility system, multiple clustering modes (broadcast and Raft), persistent session and message storage (sled, Redis), authentication via HTTP or JWT, ACL rules, and bridges to Kafka, Pulsar, NATS, and ReductStore. The broker includes a built-in HTTP management API with a Vue.js dashboard and a comprehensive test suite covering conformance, stress, and chaos scenarios. Production features include circuit breakers, rate limiting, metrics export, and configuration-driven operation. The codebase is well-structured with clean abstractions, reusable components (codec, network builder, hook system), and active maintenance, though the dual clustering implementations and extensive feature flags introduce some complexity.

RATING: 8.6/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
GetStream/stream-chat-swift ★ 969 233 APPLICATION

Stream Chat Swift is an iOS/macOS SDK for building real-time chat and messaging applications. It provides a modular architecture separating core networking (StreamChat), UI components (StreamChatUI), and shared utilities (StreamChatCommonUI). The SDK supports features like channels, messages, reactions, threads, polls, attachments, typing indicators, and presence. It uses Combine for reactive programming, Core Data for persistence, and WebSocket for real-time communication. The repository includes demo applications, example implementations (SlackClone, MessengerClone, etc.), and extensive testing infrastructure. The SDK follows protocol-oriented programming with dependency injection via Appearance and Components providers, enabling high customization.

RATING: 8.6/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
eclipse-hono/hono ★ 500 148 APPLICATION

Eclipse Hono is a cloud-native IoT messaging platform that ingests telemetry and events from devices via multiple protocols (MQTT, CoAP, HTTP, AMQP, LoRa, Sigfox) and routes them to northbound applications over AMQP, Kafka, or Google Pub/Sub. The codebase is modular, comprising protocol adapters, device registry services (JDBC and MongoDB), authentication, command routing, and client libraries. It is built on Vert.x and Quarkus, uses Micrometer for metrics and OpenTracing/OpenTelemetry for distributed tracing. The system handles device registration, credentials management, tenant configuration, connection limits, and resource governance. It includes a CLI tool for consuming telemetry and a comprehensive integration test suite. The repository is actively maintained with frequent commits and CI pipelines.

RATING: 8.6/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
Cysharp/MessagePipe ★ 1983 133 APPLICATION

MessagePipe is a high-performance C# library for in-process and distributed messaging, implementing pub/sub, mediator/CQRS, and request/response patterns with a flexible filter pipeline. It supports both synchronous and asynchronous operations, keyed and keyless subscriptions, and buffered/observable adapters. The library is DI-container agnostic, with first-class integrations for Microsoft.Extensions.DependencyInjection, Unity (Zenject, VContainer), and a built-in lightweight container. Distributed transports include TCP, UDP, Named Pipes, Unix Domain Sockets, Redis, and NATS, with MessagePack binary serialization. A Roslyn analyzer (MPA001) detects forgotten subscription disposal. The codebase is well-structured and performance-optimized (lock-free data structures, pooling, custom awaiters), but suffers from significant code duplication between .NET and Unity variants and embeds large third-party libraries (Zenject, MessagePack) directly in the Unity project, increasing maintenance burden.

RATING: 8.5/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
wormhole-foundation/wormhole ★ 1893 864 APPLICATION

Wormhole is a generic cross-chain messaging protocol that allows smart contracts on different blockchain networks to communicate with each other. This monorepo contains the full protocol implementation: a guardian node (Go) that observes events on supported blockchains, signs Verifiable Action Approvals (VAAs), and relays them; smart contracts deployed on Solana, Ethereum, CosmWasm, NEAR, Sui, Aptos, Algorand, and a custom Cosmos SDK chain (Wormchain); multi-language SDKs (JavaScript, Go, Rust) for integrating with the protocol; and a CLI tool for governance and bridge operations. The system supports token bridging, NFT bridging, cross-chain queries (CCQ), and native token transfers (NTT) with an accountant contract for balance tracking. The architecture follows a microservices pattern within the guardian node: chain-specific watchers feed events into a processor that builds VAAs, which are signed by a quorum of guardians and then broadcasted via P2P/gRPC. On the smart contract side, each blockchain has its own implementation of core bridge logic, token bridge, NFT bridge, and governance modules. The codebase uses a variety of frameworks including Solitaire (a custom Solana framework), Anchor (for SVM shims), CosmWasm contracts, and standard Solidity patterns. Extensive testing infrastructure exists with unit tests, integration tests (some hitting live testnets), and formal verification (KEVM for EVM contracts). While the code is large and spans many languages, the core abstractions (VAA structs, guardian set management, watcher interfaces, supervisor pattern, and the Solitaire framework) are well-designed and demonstrate professional engineering maturity. The monorepo also includes generated protobuf code, deployment scripts, devnet configurations, and audit reports, making it a complete reference implementation but also introducing maintenance complexity and some technical debt (e.g., deprecated chain handling, hardcoded keys in tests, and occasional use of panic).

RATING: 8.4/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
threema-ch/threema-android ★ 990 115 APPLICATION

Threema Android is a secure messaging application with end-to-end encryption using NaCl/libsodium. It features a modular architecture following clean architecture principles with separation into app, domain, data, and common layers. The app uses MVVM with ViewModels and StateFlow/LiveData, dependency injection via Koin, and Kotlin coroutines for asynchronous operations. Key functionality includes text/media messaging, voice/video calls, group chats, polls, contact management, backup/restore, multi-device synchronization, and availability status indicators. The application supports multiple build variants for different distribution channels (Google Play, Huawei AppGallery, F-Droid, Threema Shop) and includes enterprise features for business users. It relies on SQLCipher for encrypted local storage, implements custom CSP/D2M protocols for server communication, and provides web client functionality for desktop access.

RATING: 8.4/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
macro-inc/macro ★ 4369 419 APPLICATION

Macro is a large open-source monorepo (AGPLv3) for an all-in-one collaborative productivity platform that unifies email, messaging, documents, tasks, CRM, AI agents, and more. The backend consists of 42+ Rust microservices following a consistent hexagonal architecture (domain/inbound/outbound), with PostgreSQL, OpenSearch, Redis, S3, Kafka/SQS/EventBridge for data storage and event-driven processing. The frontend is a SolidJS single-page application with a heavily customized Lexical editor, block-based content system, real-time collaboration via CRDT (Loro), and Tauri-based desktop/iOS apps. AI is a first-class feature with agent harnesses, MCP integration, and an AI editing worker. Infrastructure is managed via Pulumi and Docker Compose for local development. The codebase demonstrates high engineering craftsmanship with consistent patterns, extensive testing, and comprehensive observability, though the sheer scale and volume of generated code introduce some maintenance overhead.

RATING: 8.2/10 MAINT: active DRIFT: low
â–¸ 6 reusable components found
$ loading more...
$ submit: