10 repository-uri
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 este un framework web .NET de înaltă performanță conceput pentru construirea de API-uri type-safe folosind obiecte de cerere și răspuns puternic tipizate. Funcționează ca un motor API bazat pe mesaje care decuplează logica de business de stratul de transport, permițând serviciilor să fie expuse prin protocoale multiple, inclusiv HTTP, gRPC și diverși furnizori de cozi de mesaje. Framework-ul se distinge prin generatorul său de API type-safe, care produce SDK-uri native pentru clienți și obiecte de transfer de date (DTO) din metadatele serviciului în mai multe limbaje. Include, de asemenea, un gateway de servicii distribuit pentru orchestrarea microserviciilor, un ORM code-first pentru traducerea obiectelor C# direct în înregistrări de bază de date și un sistem centralizat de gestionare a identității și accesului pentru acces securizat bazat pe token-uri. Suprafața sa mai largă de capabilități acoperă mesageria asincronă și streaming-ul de evenimente în timp real prin Pub-Sub și Server-Sent Events. Oferă suport cuprinzător pentru serializarea datelor pentru formate precum JSON, XML, ProtoBuf și MessagePack, alături de fluxuri de autentificare integrate, inclusiv JWT, chei API și step-up authentication. Tooling-ul suplimentar include generarea automatizată de API-uri CRUD, execuția de job-uri în fundal și template-uri de dashboard administrativ.
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.
Acest proiect este o implementare de referință și un blueprint arhitectural pentru construirea de sisteme distribuite folosind framework-ul go-zero. Oferă un boilerplate complet pentru microservicii și un layout de proiect standardizat pentru a inițializa servicii API și RPC cu structuri de foldere consistente. Implementarea se distinge prin furnizarea unui ghid cuprinzător și a unei baze de cod pentru descoperirea serviciilor (service discovery), limitarea ratei (rate limiting) și circuit breaking. Demonstrează o integrare a stack-ului de observabilitate care coordonează tracing-ul distribuit, colectarea metricilor și logarea centralizată în mai multe microservicii. Sistemul acoperă o gamă largă de capabilități distribuite, inclusiv mesagerie asincronă printr-un model publish-subscribe, gestionarea tranzacțiilor distribuite pentru consistența datelor și un model de agregare gateway pentru a separa request-urile externe de comunicarea internă. Include, de asemenea, generarea automată de cod din definiții și pipeline-uri de livrare continuă pentru deployment-ul în containere.
Provides asynchronous task queues for executing background jobs and handling deferred work via a broker.
Acest proiect servește drept arhitectură de referință cuprinzătoare și ghid de bune practici pentru dezvoltarea aplicațiilor scalabile cu framework-ul Spring Boot. Oferă un plan structural pentru dezvoltarea backend-ului Java, concentrându-se pe implementarea API-urilor decuplate și stabilirea standardelor arhitecturale. Proiectul detaliază în mod specific crearea de „starters” personalizate și module de auto-configurare pentru a simplifica integrarea bibliotecilor terțe. De asemenea, oferă un plan de implementare pentru ambalarea aplicațiilor ca fișiere jar executabile și optimizarea build-urilor stratificate pentru medii cloud containerizate. Suprafața de capabilități acoperă optimizarea performanței prin caching în memorie și procesare asincronă, precum și sincronizarea sistemelor distribuite folosind lock-uri distribuite și brokeri de mesaje. Acoperirea suplimentară include gestionarea persistenței datelor, migrarea bazelor de date, programarea automată a sarcinilor și implementarea programării orientate pe aspecte (AOP) pentru preocupări transversale.
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 este un framework de microservicii Python conceput pentru construirea de sisteme distribuite. Funcționează ca un framework de comunicare RPC și un instrument de arhitectură bazată pe evenimente, folosind un message broker pentru a decupla componentele de serviciu izolate. Framework-ul oferă un gateway multi-protocol care expune logica microserviciilor interne către clienții externi prin endpoint-uri HTTP și websockets. Permite schimbul de mesaje de tip request-response și difuzarea de evenimente asincrone pentru a menține consistența datelor într-un sistem distribuit. Sistemul include o interfață de linie de comandă pentru controlul și interacțiunea cu serviciile, precum și utilitare pentru testarea unitară și de integrare a logicii serviciilor distribuite.
Uses a message broker to route asynchronous requests and events between decoupled microservices.