10 dépôts
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 est un framework web .NET haute performance conçu pour construire des API typées en utilisant des objets de requête et de réponse fortement typés. Il fonctionne comme un moteur d'API basé sur les messages qui découple la logique métier de la couche de transport, permettant aux services d'être exposés via plusieurs protocoles incluant HTTP, gRPC et divers fournisseurs de files d'attente de messages. Le framework se distingue par son générateur d'API typé, qui produit des SDK clients natifs et des objets de transfert de données (DTO) à partir des métadonnées de service dans plusieurs langages. Il inclut également une passerelle de service distribuée pour l'orchestration de microservices, un ORM code-first pour traduire directement les objets C# en enregistrements de base de données, et un système centralisé de gestion des identités et des accès pour un accès sécurisé basé sur des jetons. Sa surface de capacités plus large couvre la messagerie asynchrone et le streaming d'événements en temps réel via Pub-Sub et Server-Sent Events. Il fournit une prise en charge complète de la sérialisation des données pour des formats tels que JSON, XML, ProtoBuf et MessagePack, aux côtés de flux d'authentification intégrés incluant JWT, clés API et authentification step-up. L'outillage supplémentaire inclut la génération automatisée d'API CRUD, l'exécution de tâches en arrière-plan et des modèles de tableau de bord administratif.
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.
Ce projet est une implémentation de référence et un plan architectural pour construire des systèmes distribués en utilisant le framework go-zero. Il fournit un boilerplate complet de microservices et une structure de projet standardisée pour amorcer des services API et RPC avec des structures de dossiers cohérentes. L'implémentation se distingue en fournissant un guide complet et une base de code pour la découverte de services, la limitation de débit (rate limiting) et le disjoncteur (circuit breaking). Elle démontre une intégration de stack d'observabilité qui coordonne le traçage distribué, la collecte de métriques et la journalisation centralisée à travers plusieurs microservices. Le système couvre un large éventail de capacités distribuées, incluant la messagerie asynchrone via un modèle de publication-abonnement, la gestion de transactions distribuées pour la cohérence des données et un modèle d'agrégation de passerelle pour séparer les requêtes externes de la communication interne. Il inclut également la génération automatique de code à partir de définitions et des pipelines de livraison continue pour le déploiement de conteneurs.
Provides asynchronous task queues for executing background jobs and handling deferred work via a broker.
Ce projet sert d'architecture de référence complète et de guide des meilleures pratiques pour développer des applications scalables avec le framework Spring Boot. Il fournit un plan structurel pour le développement backend Java, se concentrant sur l'implémentation d'API découplées et l'établissement de standards architecturaux. Le projet détaille spécifiquement la création de starters personnalisés et de modules d'auto-configuration pour simplifier l'intégration de bibliothèques tierces. Il fournit également un plan de déploiement pour packager les applications sous forme de jars exécutables et optimiser les builds en couches pour les environnements cloud conteneurisés. La surface de capacités couvre l'optimisation des performances via le cache mémoire et le traitement asynchrone, ainsi que la synchronisation de systèmes distribués utilisant des verrous distribués et des courtiers de messages. La couverture inclut également la gestion de la persistance des données, les migrations de bases de données, la planification de tâches automatisées et l'implémentation de la programmation orientée aspect pour les préoccupations 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 est un framework de microservices Python conçu pour construire des systèmes distribués. Il fonctionne comme un framework de communication RPC et un outil d'architecture pilotée par les événements, utilisant un message broker pour découpler les composants de service isolés. Le framework fournit une passerelle multi-protocoles qui expose la logique interne des microservices aux clients externes via des endpoints HTTP et des websockets. Il permet l'échange de messages requête-réponse et la diffusion d'événements asynchrones pour maintenir la cohérence des données à travers un système distribué. Le système inclut une interface en ligne de commande pour contrôler et interagir avec les services, ainsi que des utilitaires pour les tests unitaires et d'intégration de la logique de service distribuée.
Uses a message broker to route asynchronous requests and events between decoupled microservices.