10 Repos
Architectural patterns for transmitting and processing discrete events to maintain state and history.
Distinct from Chronological Event Sorters: None of the candidates cover the general architectural pattern of event-based communication; they focus on low-level multiplexing or sorting.
Explore 10 awesome GitHub repositories matching software engineering & architecture · Event-Based Communication. Refine with filters or upvote what's useful.
Nostr is a decentralized social protocol and censorship-resistant messaging standard. It operates as a distributed event relay network where user identities are defined by public-key cryptography rather than centralized account databases. The protocol enables the exchange of cryptographically signed messages across a network of independent relays. This system allows for the broadcasting of signed notes to multiple servers to ensure content availability and permanence, while using public-key pairs to prove authorship and authenticity without a central registry. The system covers distributed c
Implements a system for transmitting discrete JSON events to maintain a chronological and verifiable history.
This project provides a set of development guidelines and architectural recommendations for building iOS applications. It focuses on structuring Swift applications to decouple business logic from the user interface to improve testability and maintenance. The project covers specific implementation standards for security, such as using keychain storage for sensitive data and TLS certificate pinning for network traffic. It also defines patterns for code quality enforcement through static analysis and compiler configurations, as well as strategies for asset and localization management. The guide
Implements event-based communication using delegation, callbacks, and reactive signals.
vue-quill-editor ist eine Quill-Rich-Text-Editor-Komponente für Vue-Anwendungen. Sie bietet ein erweiterbares WYSIWYG-Interface zum Erstellen und Formatieren von Rich-Text-Inhalten innerhalb von Webanwendungen. Die Komponente ist auf SSR-Kompatibilität ausgelegt und stellt sicher, dass sie sowohl in clientseitigen Single-Page-Anwendungen als auch in Server-Side-Rendering-Umgebungen funktioniert, um Hydratationsfehler zu vermeiden. Die Bibliothek unterstützt die Integration externer Plugins für spezialisierte Funktionen wie Tabellenerstellung und Bildgrößenänderung. Sie ermöglicht die Handhabung von Editor-Ereignissen und die Verwaltung von Inhalten über einen Vue-basierten Komponenten-Wrapper.
Maps internal editor callbacks to Vue component events to notify the parent application of content changes.
Choo is a minimalist frontend framework providing a tiny foundation for building web applications. It functions as an event-driven application core that decouples business logic from rendering and includes a client-side router to manage browser history and URL mapping without page reloads. The project distinguishes itself through an architecture that combines a server-side rendering engine for generating static HTML strings with a stateful UI component library. This allows for the creation of self-contained interface elements that maintain internal data and persist across global renders. The
Implements an event-driven architecture to decouple business logic from the rendering process.
Doctrine Common is a set of shared libraries that provide foundational capabilities for parsing PHP docblock annotations, managing event-driven communication, and handling typed object collections. At its core, it includes a docblock annotation parser that reads structured metadata from PHP docblock comments, enabling configuration for object-relational mapping and validation rules. It also offers a typed collection abstraction with lazy-loading support, allowing efficient management of object groups through array-like operations. The library extends these capabilities with an event managemen
Dispatches and listens to named events through a centralized event manager for decoupled communication.
vue-video-player ist eine Wrapper-Komponente zur Integration einer anpassbaren Videowiedergabe-Schnittstelle in Vue- und React-Anwendungen unter Verwendung des Video.js-Frameworks. Sie bietet ein standardisiertes System zur Einbettung von Videoplayern in eine reaktive UI-Schicht. Das Projekt handhabt die Konfiguration des Video-Erscheinungsbilds, einschließlich der Verwaltung von Poster-Bildern, Seitenverhältnissen und responsiven, fluiden Layouts zur Anpassung an verschiedene Bildschirmgrößen. Es bietet Mechanismen zur Verwaltung von Wiedergabeeigenschaften wie Lautstärke, Geschwindigkeit, Autoplay- und Mute-Status. Das System enthält Werkzeuge zur Überwachung von Wiedergabemeilensteinen und Systemereignissen sowie ein Zustandsobjekt, das Echtzeitdaten zu Wiedergabezeit, Dauer und Status verfolgt.
Bridges internal Video.js events to framework-level listeners using a standardized event emitter system.
Otto ist ein ereignisgesteuertes Kommunikationssystem, das als Event-Bus für Android-Anwendungen konzipiert ist. Es bietet einen Mechanismus zur Entkopplung von Anwendungskomponenten durch das Routing von Ereignissen zwischen ihnen, ohne dass direkte Abhängigkeiten erforderlich sind. Das System ist zustandsbewusst, was bedeutet, dass es neuen Abonnenten unmittelbar nach der Registrierung den zuletzt bekannten Wert bereitstellen kann. Es arbeitet als synchroner Event-Dispatcher und stellt sicher, dass alle registrierten Listener auf ein Objekt reagieren, bevor die Ausführung fortgesetzt wird. Die Bibliothek umfasst Funktionen für das Management von Event-Abonnements und die Durchsetzung der Thread-Ausführung, um Callbacks auf spezifische Threads zu beschränken. Sie nutzt typbasiertes Subscriber-Mapping, um Listener gemäß der Klasse der Ereignisse zu organisieren, die sie empfangen.
Implements the architectural pattern of event-based communication to decouple application components.
Dieses Projekt ist eine Drag-and-Drop-UI-Bibliothek und eine Vue-3-Komponente zur Implementierung sortierbarer Listen und zustandssynchronisierter Oberflächen. Es fungiert als Wrapper für die Sortable.js-Bibliothek und bietet eine zustandssynchronisierte Listenkomponente, die das zugrunde liegende Daten-Array automatisch aktualisiert, wenn Elemente neu geordnet oder verschoben werden. Die Bibliothek unterstützt verschachtelte draggable Oberflächen und hierarchische Datenorganisation, was es ermöglicht, draggable Container innerhalb anderer beweglicher Elemente zu verschachteln, um mehrstufige Strukturen zu erstellen. Sie ermöglicht zudem den Datentransfer über mehrere Spalten hinweg, wodurch Elemente zwischen verschiedenen draggable Containern verschoben oder geklont werden können. Zusätzliche Funktionen umfassen die Verwendung eingeschränkter Interaktions-Handles zur Initiierung von Bewegungen und die Möglichkeit, statische, nicht bewegliche Inhalte innerhalb einer draggable Liste einzubetten. Das System verfolgt Drag-Event-Lebenszyklen, um Callbacks auszulösen, wenn Elemente hinzugefügt, entfernt oder neu positioniert werden.
Bridges internal Sortable.js events to Vue component events to notify parents of item movements.
react-ace ist ein React-Komponenten-Wrapper für den Ace-Code-Editor, um funktionsreiche Textbearbeitung und Syntax-Highlighting in Webanwendungen einzubetten. Er bietet einen browserbasierten Editor, der sprachspezifische Farb- und Formatierungsregeln auf Quellcode- und Markup-Dateien anwendet. Das Projekt zeichnet sich durch die Unterstützung spezialisierter Tastatur-Interaktionsmodi aus, einschließlich Vim und Emacs, sowie einen Side-by-Side-Diff-Viewer zum Vergleich verschiedener Dateiversionen. Es fungiert zudem als Tool für Code-Snippets und Live-Autocompletions, um die Texteingabe zu beschleunigen. Die Komponente deckt ein breites Spektrum an Editor-Funktionen ab, einschließlich visuellem Theme-Management, Code-Annotationen sowie Fehler- oder Warnindikatoren. Sie bietet programmatische Interfaces für State-Synchronisation, Extraktion von Textselektionen und die Ausführung interner Editor-Methoden wie Suchen und Ersetzen.
Provides interfaces that map internal editor callbacks to React component events for state propagation.
Viewers is a zero-footprint DICOMweb medical imaging viewer and a modular plugin framework. It serves as a diagnostic interface for rendering 2D and 3D medical images, providing a web-based clinical workflow engine to automate image layouts and toolsets. The project distinguishes itself through a highly extensible architecture that allows for the development of custom clinical workflows, specialized viewing modes, and the integration of external functional extensions. It includes a dedicated command line interface for managing these plugins and supports white-labeling through a comprehensive
Decouples modules by allowing components to subscribe to specific events and trigger actions.