10 repositorios
Architectural patterns for separating client and server layers via interface contracts.
Distinguishing note: Focuses on the architectural separation of concerns rather than specific API implementation styles.
Explore 10 awesome GitHub repositories matching web development · API Decoupling. Refine with filters or upvote what's useful.
This project is an enterprise application framework designed to accelerate the construction of complex business software. It functions as a full-stack code generator that automatically produces backend logic, database operations, and frontend interface components from defined data schemas. By providing a standardized foundation for security, authentication, and administrative management, it enables developers to rapidly deploy functional, production-ready software environments. The platform distinguishes itself through its native support for multi-tenant architectures, allowing for secure dat
Separates client and server layers using standardized interface contracts to enable independent scaling.
Kratos is a centralized identity and access management server designed to handle user registration, authentication, and profile management. It functions as an identity flow orchestrator, managing the state and security of authentication processes across web, mobile, and command-line interfaces. The system provides a standards-compliant authorization server that issues tokens and manages delegated access for third-party applications and internal services, supporting multi-factor authentication and custom identity schemas to secure user accounts. The project distinguishes itself through a headl
Separates user interface and backend layers through interface contracts to enable custom authentication experiences.
SpaceBarChat is an open-source, self-hosted chat server that implements the Discord client-server protocol, allowing existing Discord clients and bots to connect without modification. It provides a complete communication platform for real-time messaging, voice, and video, all running on your own infrastructure with data stored in a PostgreSQL database that automatically synchronizes its schema with the application source code. The platform is built on a three-service architecture that separates API, Gateway, and CDN processes, communicating via Unix domain sockets or RabbitMQ for coordination
Implements a three-service architecture with message broker routing for real-time updates.
Moleculer is a Node.js microservices framework designed for building distributed systems. It functions as a distributed service broker, task orchestrator, and service mesh framework, enabling a decentralized architecture with built-in service discovery and load balancing. The project differentiates itself through a pluggable transport layer supporting protocols such as NATS, Redis, TCP, and Kafka, as well as a dedicated microservices API gateway that maps external HTTP and WebSocket requests to internal service actions. It includes built-in fault tolerance mechanisms, including circuit breake
Uses message brokers like NATS or Redis to route events between decoupled server processes.
ServiceStack es un framework web de alto rendimiento para .NET diseñado para construir APIs con seguridad de tipos utilizando objetos de solicitud y respuesta fuertemente tipados. Funciona como un motor de API basado en mensajes que desacopla la lógica de negocio de la capa de transporte, permitiendo que los servicios se expongan a través de múltiples protocolos, incluyendo HTTP, gRPC y varios proveedores de colas de mensajes. El framework se distingue por su generador de API con seguridad de tipos, que produce SDKs de cliente nativos y objetos de transferencia de datos (DTOs) a partir de metadatos de servicio en múltiples lenguajes. También incluye un gateway de servicios distribuidos para la orquestación de microservicios, un ORM code-first para traducir objetos C# directamente a registros de base de datos y un sistema centralizado de gestión de identidad y acceso para un acceso seguro basado en tokens. Su superficie de capacidades más amplia cubre la mensajería asíncrona y el streaming de eventos en tiempo real mediante Pub-Sub y Server-Sent Events. Proporciona un soporte integral de serialización de datos para formatos como JSON, XML, ProtoBuf y MessagePack, junto con flujos de autenticación integrados que incluyen JWT, claves API y autenticación de paso a paso. Herramientas adicionales incluyen la generación automatizada de API CRUD, ejecución de trabajos en segundo plano y plantillas de dashboard administrativo.
Implements an architectural separation of the API contract from service logic using standalone transfer objects.
FastStream is an asynchronous Python framework designed for building event-driven microservices. It provides a unified abstraction layer for interacting with various message brokers, enabling developers to manage event production and consumption through a consistent interface while maintaining access to native provider-specific features. The framework centers on a decorator-based routing model that binds application logic directly to broker topics, supported by a built-in dependency injection container that resolves resources at runtime. The framework distinguishes itself through its deep int
Redirects subscribers and publishers to an in-memory store to allow application testing without a live broker.
Este proyecto es una implementación de referencia y un plano arquitectónico para construir sistemas distribuidos utilizando el framework go-zero. Proporciona un boilerplate completo de microservicios y una estructura de proyecto estandarizada para arrancar servicios API y RPC con estructuras de carpetas consistentes. La implementación se distingue por proporcionar una guía completa y una base de código para el descubrimiento de servicios, limitación de tasa (rate limiting) y disyuntores (circuit breaking). Demuestra una integración de stack de observabilidad que coordina el rastreo distribuido, la recolección de métricas y el registro centralizado de logs a través de múltiples microservicios. El sistema cubre una amplia gama de capacidades distribuidas, incluyendo mensajería asíncrona mediante un modelo de publicación-suscripción, gestión de transacciones distribuidas para la consistencia de datos y un patrón de agregación de gateway para separar las solicitudes externas de la comunicación interna. También incluye generación automática de código a partir de definiciones y pipelines de entrega continua para el despliegue en contenedores.
Provides asynchronous task queues for executing background jobs and handling deferred work via a broker.
Este proyecto sirve como una arquitectura de referencia integral y una guía de mejores prácticas para desarrollar aplicaciones escalables con el framework Spring Boot. Proporciona un plano estructural para el desarrollo backend en Java, centrándose en la implementación de APIs desacopladas y el establecimiento de estándares arquitectónicos. El proyecto detalla específicamente la creación de starters personalizados y módulos de autoconfiguración para simplificar la integración de bibliotecas de terceros. También proporciona un plano de despliegue para empaquetar aplicaciones como archivos jar ejecutables y optimizar compilaciones en capas para entornos de nube contenerizados. La superficie de capacidades cubre el ajuste de rendimiento mediante caché de memoria y procesamiento asíncrono, así como la sincronización de sistemas distribuidos utilizando bloqueos distribuidos y brokers de mensajes. La cobertura adicional incluye la gestión de persistencia de datos, migraciones de bases de datos, programación de tareas automatizadas y la implementación de programación orientada a aspectos para preocupaciones transversales.
Provides a blueprint for building decoupled APIs that separate backend data logic from the user interface.
FastStream is an asyncio message broker framework for building event-driven applications in Python. It provides a unified interface and a multi-broker messaging abstraction layer that translates generic producer and consumer calls into broker-specific APIs. The framework features a built-in dependency injection container and uses decorators to route messages to asynchronous handler functions. It includes a documentation generator that extracts channel definitions and message formats from code to produce standardized AsyncAPI specifications. The project supports integration with Kafka, Rabbit
Sends messages to the broker from any HTTP route using context injection.
Nameko es un framework de microservicios de Python diseñado para construir sistemas distribuidos. Funciona como un framework de comunicación RPC y una herramienta de arquitectura basada en eventos, utilizando un broker de mensajes para desacoplar componentes de servicio aislados. El framework proporciona una puerta de enlace multiprotocolo que expone la lógica de microservicios internos a clientes externos a través de endpoints HTTP y websockets. Permite el intercambio de mensajes de solicitud-respuesta y la difusión de eventos asíncronos para mantener la consistencia de los datos en un sistema distribuido. El sistema incluye una interfaz de línea de comandos para controlar e interactuar con los servicios, así como utilidades para pruebas unitarias y de integración de la lógica de servicios distribuidos.
Uses a message broker to route asynchronous requests and events between decoupled microservices.