15 repositorios
Architectural patterns that use structured events to coordinate interactions between decoupled systems.
Distinct from UI Event Coordination Systems: None of the candidates cover general system-to-system event coordination for game logic; they focus on UI or I/O.
Explore 15 awesome GitHub repositories matching software engineering & architecture · Event-Driven Coordination. Refine with filters or upvote what's useful.
Edict is a multi-agent orchestration system and framework designed to coordinate specialized large language model agents. It functions as a workflow designer and orchestrator that decomposes complex objectives into structured plans, using directed acyclic graphs and role-based hierarchies to execute sub-tasks. The system is distinguished by its event-driven architecture, utilizing a publish-subscribe event bus and transactional outbox to manage agent communications and task transitions. It features a dedicated skill management system that allows for the importation, updating, and sandboxed ex
Implements an event-driven architecture using a publish-subscribe bus to coordinate task transitions between agents.
Earthworm is an AI-powered language learning platform centered on sentence construction, translation exercises, and grammar tutoring. It integrates a spaced repetition system to schedule reviews based on individual performance and a multimedia practice tool that converts audio, video, and text into interactive sentence-level exercises. The platform features a real-time competitive quiz system where users can challenge each other in live matches based on speed and accuracy. It also includes an AI tutor that provides contextual grammar and usage explanations for specific sentences, and a set of
Utilizes a session state machine to allow switching between learning modes without losing progress.
Este proyecto es una guía de implementación de patrones de diseño de software y una referencia de arquitectura. Proporciona una colección práctica de ejemplos de código que demuestran patrones creacionales, estructurales y de comportamiento para mejorar la mantenibilidad y la calidad del software. La biblioteca incluye implementaciones estandarizadas para la instanciación de objetos mediante patrones creacionales, plantillas para ensamblar objetos en jerarquías eficientes usando patrones estructurales, y ejemplos para gestionar la comunicación de objetos y la distribución de responsabilidades mediante patrones de comportamiento. El proyecto mapea estos patrones de diseño abstractos a dominios de negocio específicos, como transacciones y marketing, para demostrar cómo resolver problemas de software del mundo real. Esto incluye la aplicación de despacho de ejecución polimórfico y desacoplamiento basado en interfaces para reducir la complejidad del sistema y aumentar la escalabilidad.
Coordinates interaction logic across system components using event-driven behavioral patterns.
Choo es un framework frontend funcional para construir aplicaciones web. Consiste en un conjunto de herramientas que incluye un router del lado del cliente, un motor de diffing del DOM y una biblioteca de JavaScript isomórfica. El proyecto utiliza una arquitectura basada en eventos para desacoplar la lógica de negocio del renderizado, coordinando las actualizaciones de estado y las actualizaciones de vista a través de un emisor de eventos central. Emplea renderizado isomórfico para generar salida HTML utilizando una única ruta lógica tanto para cadenas del lado del servidor como para la manipulación del DOM del lado del cliente. El framework gestiona un objeto de estado compartido que sincroniza los datos entre manejadores y vistas. El rendimiento se aborda mediante un motor de diffing del DOM que utiliza caché de componentes basada en identificadores y reconciliación manual para minimizar mutaciones costosas. El router mapea rutas de URL a funciones manejadoras y extrae parámetros nombrados directamente al estado compartido de la aplicación.
Implements an event-driven architecture to decouple business logic from the rendering process.
Este proyecto es una implementación de referencia de patrones de Domain-Driven Design, modelado de dominio funcional y coordinación de estado basada en eventos. Demuestra la aplicación de patrones de diseño estratégicos y tácticos para gestionar requisitos de negocio complejos. La implementación utiliza un modelo de dominio funcional con funciones puras y objetos inmutables para gestionar transiciones de estado y efectos secundarios. Cuenta con una arquitectura de Segregación de Responsabilidad de Comandos y Consultas (CQRS) para separar modelos de lectura y escritura, junto con coordinación basada en eventos para mantener la consistencia a través de límites de negocio autónomos. La base de código incorpora una arquitectura de monolito modular utilizando contextos delimitados (bounded contexts) y capas hexagonales para aislar la lógica central de la infraestructura. El aseguramiento de la calidad se maneja a través de una suite de desarrollo guiado por comportamiento (BDD) que refleja el lenguaje ubicuo para verificar escenarios de negocio y pruebas automatizadas que aplican restricciones arquitectónicas. El proyecto aplica estos patrones a un dominio de gestión de bibliotecas, cubriendo el mantenimiento del catálogo de libros, flujos de trabajo de circulación, validaciones de reservas y seguimiento de préstamos vencidos.
Coordinates interactions between decoupled business modules using structured domain events.
KurrentDB is an event-native database designed for event sourcing and event-driven architectures. It stores application state as an immutable, ordered sequence of events rather than updating rows in place, preserving full history for audit, replay, and distributed consistency. The database combines event storage with real-time streaming and a built-in JavaScript projection engine that transforms and aggregates event streams into materialized views. The system provides official gRPC client libraries for Python, Node.js, Java, .NET, Go, and Rust, enabling multi-language application development
Coordinates distributed services through event streams for decoupled communication.
MaiBot es un agente conversacional inteligente y un framework basado en plugins diseñado para simular una personalidad humana auténtica y compañía digital. Funciona como un bot de mensajería multiplataforma que conecta un agente central a varios servicios de mensajería instantánea a través de un sistema de adaptadores estandarizado. El proyecto se distingue por el uso de un sistema de memoria de grafo de conocimiento para mantener personalidades consistentes y perfiles de usuario a largo plazo. También actúa como un orquestador de herramientas, coordinando el razonamiento de múltiples turnos y llamadas a herramientas externas para gestionar el ritmo y flujo natural de las conversaciones. El framework incluye una arquitectura extensible que cuenta con un modelo de eventos de publicación-suscripción y un sistema de plugins multiproceso con capacidades de recarga en caliente. Su superficie funcional cubre el análisis de estilo lingüístico, la gestión de expresiones visuales para activos multimedia y una tubería de procesamiento basada en hooks para el enrutamiento de mensajes. La administración del sistema, incluyendo configuraciones de modelos y gestión de plugins, se maneja a través de una interfaz web centralizada.
Uses a publish-subscribe model to coordinate interactions between decoupled system modules.
Este proyecto es un framework de diseño de sistemas distribuidos y guía de arquitectura. Proporciona recursos técnicos para diseñar, desplegar y coordinar servicios de red independientes. El framework establece una metodología estructurada para migrar aplicaciones monolíticas a servicios descentralizados separando las preocupaciones de frontend y backend. Sirve como referencia para la arquitectura basada en eventos, centrándose en mantener la consistencia de los datos a través de los límites de la red utilizando el abastecimiento de eventos y registros de transacciones locales. El proyecto cubre una amplia gama de capacidades, incluyendo comunicación de servicios distribuidos, configuración de descubrimiento de servicios y la implementación de puertas de enlace API. También aborda estrategias de despliegue para alta disponibilidad y el uso de intermediación de mensajes asíncronos para desacoplar servicios.
Coordinates data consistency across distributed services using event sourcing and local transaction records.
Colanode es una plataforma de colaboración local-first diseñada para documentos compartidos, chat y bases de datos. Proporciona una suite autohospedada para la colaboración en equipo y la gestión del conocimiento, permitiendo a los usuarios mantener el control total sobre sus datos y privacidad en su propia infraestructura. La plataforma se distingue por un motor de sincronización que utiliza WebSockets para la transmisión de datos en tiempo real y un enfoque local-first para asegurar que el trabajo continúe sin conexión. Incorpora recuperación impulsada por IA a través de búsqueda semántica basada en vectores, permitiendo a los usuarios encontrar información basada en el significado a través de documentos y mensajes. El sistema cubre una amplia gama de capacidades, incluyendo edición de texto enriquecido colaborativo, modelado de contenido jerárquico y gestión de bases de datos estructuradas con vistas como tableros kanban y calendarios. Gestiona los medios a través de un almacén de documentos compatible con S3 y organiza las entidades en relaciones flexibles de padre-hijo. El software se puede desplegar a través de Docker Compose o Kubernetes utilizando Helm charts y admite la integración con proxies inversos externos para el enrutamiento de tráfico de producción.
Coordinates background tasks and caches live events using an in-memory key-value store for low-latency collaboration.
go-coffeeshop es una arquitectura de microservicios basada en eventos diseñada para gestionar el ciclo de vida completo de los pedidos de los clientes. Coordina servicios independientes utilizando patrones de mensajería asíncrona para manejar flujos de trabajo empresariales, procesamiento en segundo plano y seguimiento del cumplimiento de pedidos. El proyecto utiliza un stack de HashiCorp para la infraestructura, empleando Nomad, Consul y Vault para la orquestación de servicios y el almacenamiento de secretos. La infraestructura se gestiona mediante automatización declarativa utilizando Terraform para garantizar un despliegue consistente y repetible de recursos de computación y redes. El sistema incluye una puerta de enlace API REST para el enrutamiento de tráfico y un service mesh para la comunicación interna segura. Las capacidades técnicas cubren la inyección de dependencias en tiempo de compilación, la generación de consultas con seguridad de tipos y el uso de protocol buffers para la generación de código. Las áreas funcionales cubren la gestión de inventario de productos digitales, la recuperación de menús y el procesamiento de pedidos de clientes desde su realización hasta su cumplimiento final.
Uses structured events to coordinate interactions and background processing between decoupled services.
Pyramid es un framework web de Python y toolkit WSGI diseñado para construir aplicaciones web. Funciona como un motor de enrutamiento de URL que mapea las solicitudes HTTP entrantes a view callables específicos, utilizando tanto enrutamiento basado en patrones como recorrido jerárquico de árboles de recursos. El framework se distingue por su sistema de despacho híbrido, que permite a los desarrolladores combinar la coincidencia de URL mediante expresiones regulares con la capacidad de resolver solicitudes navegando por un árbol de objetos anidados. Implementa una arquitectura de componentes flexible que soporta la gestión del registro de aplicaciones, ejecución de configuración diferida y la capacidad de sobrescribir vistas o rutas sin modificar el código fuente original. Su superficie de capacidades más amplia abarca la gestión de identidad mediante cookies firmadas y autorización basada en ACL, un sistema de coordinación basado en eventos para el ciclo de vida de la solicitud y servicios de internacionalización para la traducción de la UI. También proporciona herramientas para el renderizado de contenido mediante serializadores personalizados e integración de plantillas, junto con un pipeline de middleware para inyectar lógica transversal. El toolkit incluye una interfaz de línea de comandos administrativa para la inspección de rutas, andamiaje de proyectos y depuración de aplicaciones.
Uses an event-driven system to coordinate custom logic execution at specific points in the HTTP request lifecycle.
This project is a reference implementation of domain-driven design patterns and a sample of command query responsibility segregation. It provides a collection of event-driven microservices that demonstrate the practical application of architectural principles for structuring complex software systems. The implementation separates read and write models through an event journal and organizes services into bounded contexts to maintain clear functional boundaries. It coordinates business logic by dispatching and consuming domain events to synchronize different modules. The project covers a range
Coordinates interactions between decoupled microservices using a structured event-driven architecture.
Space Station 14 is a C# multiplayer game and roleplay simulation framework. It is built upon an Entity-Component-System (ECS) game engine that separates logic into systems and data into components to manage complex entity interactions. The project functions as a grid-based physics simulator with a YAML data-driven prototype system for defining game objects. The project features a specialized 2D sprite rendering engine that maps server-side appearance data to client-side shaders. It implements a networking model with client-side prediction and dirty-flagged state synchronization to reduce inp
Coordinates interactions between decoupled entities and systems using high-performance, struct-based event dispatching.
Este proyecto es un framework para implementar event sourcing y segregación de responsabilidad de consulta de comandos (CQRS) dentro de microservicios en contenedores. Proporciona un enfoque estructurado para gestionar el estado del negocio como una secuencia de eventos inmutables, asegurando un registro de auditoría confiable y la capacidad de reconstruir el estado del sistema en cualquier momento. El framework se distingue por aplicar una clara separación entre las rutas de modificación de datos y las de recuperación de datos. Al utilizar la sincronización de datos basada en eventos, permite la actualización asíncrona de vistas materializadas y modelos de lectura, asegurando que los datos optimizados para consultas permanezcan actualizados sin afectar el rendimiento de las operaciones de escritura principales. La arquitectura admite el despliegue de componentes como microservicios independientes o un monolito unificado, con soporte integrado para la orquestación de contenedores para mantener la consistencia en los entornos de desarrollo y producción. Facilita la gestión de datos distribuidos a través de vistas desnormalizadas, proporcionando un acceso eficiente a información agregada a través de los límites de los servicios.
Uses immutable event streams to synchronize state across read models and materialized views for consistent data access.
Bettercap is an extensible framework for network security testing that provides a unified interface for performing man-in-the-middle attacks, network reconnaissance, and traffic manipulation across WiFi, Bluetooth, and wired networks. It operates through a modular attack module system that loads and executes interchangeable offensive or diagnostic modules, supported by event-driven session management and multi-protocol network spoofing capabilities. The framework distinguishes itself by covering a broad range of network domains, including Bluetooth Low Energy scanning and enumeration, CAN-Bus
Maintains per-session state machines that react to network events for coordinated multi-stage attacks.