10 Repos
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 ist ein hochperformantes .NET-Webframework für den Bau typsicherer APIs unter Verwendung stark typisierter Request- und Response-Objekte. Es fungiert als nachrichtenbasierte API-Engine, die Geschäftslogik von der Transportschicht entkoppelt, wodurch Services über mehrere Protokolle wie HTTP, gRPC und verschiedene Message-Queue-Provider bereitgestellt werden können. Das Framework zeichnet sich durch seinen typsicheren API-Generator aus, der native Client-SDKs und Data Transfer Objects (DTOs) aus Service-Metadaten über mehrere Sprachen hinweg produziert. Es enthält zudem ein verteiltes Service-Gateway für Microservices-Orchestration, ein Code-First-ORM zur direkten Übersetzung von C#-Objekten in Datenbankdatensätze sowie ein zentralisiertes Identitäts- und Zugriffsmanagementsystem für sicheren tokenbasierten Zugriff. Die breitere Funktionspalette deckt asynchrones Messaging und Echtzeit-Event-Streaming durch Pub-Sub und Server-Sent Events ab. Es bietet umfassende Unterstützung für Datenserialisierung in Formaten wie JSON, XML, ProtoBuf und MessagePack, neben integrierten Authentifizierungs-Flows wie JWT, API-Keys und Step-up-Authentifizierung. Zusätzliches Tooling umfasst automatisierte CRUD-API-Generierung, Hintergrund-Job-Ausführung und Vorlagen für administrative Dashboards.
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.
Dieses Projekt ist eine Referenzimplementierung und ein architektonischer Bauplan für den Aufbau verteilter Systeme unter Verwendung des go-zero-Frameworks. Es bietet ein vollständiges Microservices-Boilerplate und ein standardisiertes Projektlayout, um API- und RPC-Services mit konsistenten Ordnerstrukturen zu bootstrappen. Die Implementierung zeichnet sich durch einen umfassenden Leitfaden und eine Codebasis für Service-Discovery, Rate-Limiting und Circuit-Breaking aus. Sie demonstriert eine Observability-Stack-Integration, die verteiltes Tracing, Metrikerfassung und zentralisiertes Logging über mehrere Microservices hinweg koordiniert. Das System deckt ein breites Spektrum verteilter Funktionen ab, einschließlich asynchronem Messaging via Publish-Subscribe-Modell, verteiltem Transaktionsmanagement für Datenkonsistenz und einem Gateway-Aggregation-Pattern zur Trennung externer Requests von interner Kommunikation. Es enthält zudem automatisierte Codegenerierung aus Definitionen und Continuous-Delivery-Pipelines für Container-Deployments.
Provides asynchronous task queues for executing background jobs and handling deferred work via a broker.
Dieses Projekt dient als umfassende Referenzarchitektur und Leitfaden für Best Practices bei der Entwicklung skalierbarer Anwendungen mit dem Spring Boot Framework. Es bietet einen strukturellen Bauplan für die Java-Backend-Entwicklung mit Fokus auf die Implementierung entkoppelter APIs und die Etablierung architektonischer Standards. Das Projekt beschreibt spezifisch die Erstellung benutzerdefinierter Starter und Auto-Konfigurationsmodule, um die Integration von Drittanbieter-Bibliotheken zu vereinfachen. Es bietet zudem einen Deployment-Bauplan für das Packaging von Anwendungen als ausführbare JARs und die Optimierung von Layered Builds für containerisierte Cloud-Umgebungen. Das Funktionsspektrum umfasst Performance-Tuning durch Memory-Caching und asynchrone Verarbeitung sowie die Synchronisation verteilter Systeme mittels verteilter Locks und Message-Brokern. Weitere Themen sind die Verwaltung der Datenpersistenz, Datenbankmigrationen, automatisierte Aufgabenplanung und die Implementierung aspektorientierter Programmierung für querschnittliche Belange.
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 ist ein Python-Microservices-Framework für den Aufbau verteilter Systeme. Es fungiert als RPC-Kommunikations-Framework und Tool für ereignisgesteuerte Architektur, das einen Message-Broker verwendet, um isolierte Service-Komponenten zu entkoppeln. Das Framework bietet ein Multi-Protokoll-Gateway, das interne Microservice-Logik für externe Clients über HTTP-Endpunkte und WebSockets verfügbar macht. Es ermöglicht den Austausch von Request-Response-Nachrichten und das Broadcasting asynchroner Ereignisse, um die Datenkonsistenz über ein verteiltes System hinweg zu wahren. Das System enthält eine Kommandozeilenschnittstelle zur Steuerung und Interaktion mit Services sowie Dienstprogramme für Unit- und Integrationstests verteilter Service-Logik.
Uses a message broker to route asynchronous requests and events between decoupled microservices.