22 Repos
Tools that automatically produce server stubs and client libraries from API interface definitions.
Distinguishing note: Focuses on automated generation of backend stubs from interface specifications.
Explore 22 awesome GitHub repositories matching development tools & productivity · API Code Generators. Refine with filters or upvote what's useful.
go-zero is a toolkit for building cloud-native distributed services in Go. It functions as a microservices framework that provides built-in support for RPC, web APIs, and service discovery. The project includes a microservices code generator that produces production-ready server and client boilerplate from API descriptions. This automation is supported by a domain-specific language and pattern libraries designed to ensure compatibility with AI assistants. The framework incorporates a resilience suite for distributed system reliability, utilizing adaptive circuit breakers, rate limiting, and
Provides a utility to automatically produce server stubs and client libraries from API interface definitions.
yapi is an API management platform designed to coordinate the development of RESTful APIs between frontend, backend, and quality assurance teams. It functions as a centralized system for documenting interface specifications, simulating server responses, and validating requests through a built-in testing client. The platform features an API code generator that transforms interface specifications into typed request functions and data models across multiple programming languages. It also includes a mock server capable of generating synthetic responses using schema-based generators and rule-based
Produces typed request functions and data models in multiple languages from interface specifications.
This project is a command-line tool and template-based scaffolding engine that transforms API interface specifications into functional client libraries and server stubs. By automating the creation of type-safe SDKs and boilerplate code, it bridges the gap between service definitions and implementation, allowing developers to maintain synchronized codebases across many programming languages. The tool distinguishes itself through a portable execution model that utilizes containerized build isolation to ensure identical output regardless of the host environment. It features a modular, plugin-bas
Generates boilerplate server-side code and data models from API definitions to ensure consistent implementation.
Kratos is a toolkit for building cloud-native microservices in Go. It provides a comprehensive suite of framework primitives, including a dedicated toolset for API-first development using Protobuf to generate server and client code for gRPC and HTTP. The project is distinguished by its pluggable service infrastructure, which allows for the swapping of configuration stores, service registries, and data encoding formats. It utilizes a composable middleware pipeline to inject cross-cutting concerns such as authentication, request validation, and circuit breaking into the service flow. The frame
Provides tools to automatically produce server stubs and client libraries from API interface definitions.
APIJSON is a no-code database API generator and object-relational mapping layer that automatically transforms relational database schemas into functional HTTP endpoints. It provides a system for generating CRUD operations and technical documentation without the need to write manual backend code. The project is distinguished by its ability to allow clients to define custom JSON response structures and field aliases directly within the request. It features dynamic query translation that converts structured JSON parameters into optimized SQL for complex relational joins, subqueries, and data agg
Automatically generates CRUD HTTP endpoints and technical documentation based on relational database schemas.
Swagger Codegen is a template-driven engine and multi-language toolkit used to generate API client SDKs, server stubs, and human-readable documentation from OpenAPI specifications. It translates these specifications into functional libraries and boilerplate routing code across various target programming languages. The tool utilizes a pluggable generator module system and an integrated template engine, allowing for the customization of generated source code and the creation of new language-specific generators. It supports flexible specification sourcing via local files, remote HTTP endpoints,
Generates client libraries and server stubs by processing API definition files stored on the local filesystem.
This project is a Spring Boot API starter kit and RESTful project skeleton designed for building backend services. It provides a foundational codebase that implements a layered service architecture and standardized directory structures to organize controllers, services, and data mappers. The project features a MyBatis CRUD boilerplate generator that automates the creation of models and controllers from database tables using customizable templates. It includes a security framework for protecting endpoints via interface signature authentication to verify user identity and request authorization.
Automates the creation of data access layers to reduce manual coding for database operations.
This project is an end-to-end encrypted communication client designed for secure messaging and identity management using public-key cryptography. It provides a cryptographic identity manager to verify authenticity across platforms and integrates a local messaging daemon to synchronize encrypted data and handle network communication. The system features a remote encrypted file system that mounts encrypted storage as local directories for direct file interaction. It also includes automated identity provisioning for registering and authenticating new devices and automation bots using cryptograph
Provides tools to automatically generate client libraries and server stubs from API interface definitions.
Twirp ist ein Protocol-Buffers-RPC-Framework, das für die Implementierung von typsicherer, verteilter Microservices-Kommunikation über HTTP entwickelt wurde. Es fungiert als Framework für die Microservices-Kommunikation und als API-Codegenerator, der stark typisierte Client-Stubs und Server-Interfaces aus Schemadefinitionen erstellt, um manuellen Netzwerk-Boilerplate-Code zu eliminieren. Das Framework stellt die Kompatibilität mit bestehender Web-Infrastruktur sicher, indem es Remote Procedure Calls über Standard-HTTP-Transport ausführt. Es verwendet schema-gesteuerte Verträge als Single Source of Truth, um sprachübergreifende Interoperabilität zu ermöglichen und Geschäftslogik vom Netzwerktransport zu entkoppeln. Das System deckt mehrere Kernbereiche ab, einschließlich interface-gesteuertem Routing, Daten-Serialisierung in mehreren Formaten (unterstützt sowohl JSON als auch Binärdaten) und Request-Lifecycle-Middleware für übergreifende Belange. Es bietet zudem ein standardisiertes Fehlermeldesystem, um Dienstfehler in maschinenlesbare Codes zu übersetzen, und enthält Tools zur Überprüfung der Client-Kompatibilität.
Automates the production of server stubs and client libraries from API interface definitions.
NSwag is an OpenAPI toolchain for .NET that provides a suite of generators for converting OpenAPI specifications and JSON schemas into clients, server stubs, and structured documentation. It enables the creation of type-safe client libraries and data transfer objects, as well as the generation of OpenAPI specifications by analyzing .NET controllers. The project supports contract-first API development by generating server controller stubs from specifications and offers dedicated TypeScript API integration to ensure type safety in frontend applications. It also provides tools for hosting intera
Automatically produces server stubs and controller classes from API interface definitions.
Simplebank is a financial services backend application built with Go that manages bank accounts and transfers. It utilizes a dual-protocol interface, providing both gRPC and REST APIs via Protocol Buffers to support different client communication requirements. The system implements a PostgreSQL data layer with versioned schema migrations and type-safe query generation. It handles financial operations through atomic fund transfers and balance change tracking to maintain consistent audit trails. The architecture includes an asynchronous task worker system using a message queue to offload long-
Produces server stubs and client libraries from Protocol Buffer interface definitions.
Goa is a design-first Go framework that generates server and client code, documentation, and request validation from a single declarative domain-specific language (DSL). At its core, it provides a Go DSL for defining API endpoints, data types, and error models, which compiles into fully functional HTTP and gRPC server stubs, client packages, and OpenAPI specifications. The framework distinguishes itself through its plugin-extensible code generation pipeline, allowing custom code generation steps, middleware, or transport layers to be added via plugins. It supports multiple transport protocols
Produces fully functional HTTP and gRPC server stubs from the API design specification.
TypeSpec is a language for defining cloud API shapes and generating OpenAPI, JSON Schema, and client/server code from a single source of truth. It functions as a protocol-agnostic API designer that models REST, gRPC, and other API protocols using a unified, extensible syntax, with a decorator-based metadata system for attaching metadata, validation rules, and lifecycle visibility to API models and operations. The compiler produces OpenAPI 3.0 specifications and other artifacts, and the tool supports declaring API versions and tracking changes to models, properties, and operations across releas
Writes emitters and decorators to produce client libraries, server stubs, or documentation in any target format.
MyBatis Generator ist ein Tool, das Datenbanktabellen inspiziert, um automatisch Modellobjekte, Mapper-Schnittstellen und SQL-Konfigurationsdateien zu erstellen. Es fungiert als Datenbank-Schema-Mapper und CRUD-Operations-Generator, der relationale Datenbankspalten in sprachspezifische Klassen und Datensätze übersetzt. Das Projekt ist ein erweiterbarer Codegenerator, der die Anpassung von Ausgabedateien durch einen Plugin-Mechanismus ermöglicht. Dieses Framework erlaubt das Hinzufügen spezifischer Geschäftslogik oder die Modifikation des Generierungsprozesses, um maßgeschneiderte Ausgabedateien zu erzeugen. Der Generator deckt ein breites Spektrum an Funktionen ab, einschließlich der Implementierung dynamischer Abfragen, der Erstellung unveränderlicher Modelle und der Automatisierung von Standard-Create-, Read-, Update- und Delete-Operationen. Er unterstützt Datenbank-Schema-Mapping mit virtuellen Primärschlüsseln und kann Code für mehrere Sprachen generieren, einschließlich Kotlin. Der Generierungsprozess kann über CLI-Tools, direkte Funktionsaufrufe oder als Build-Tool-Plugin, das in CI-Pipelines integriert ist, ausgeführt werden.
Creates model objects and configuration files based on database tables to automate data operations.
Blog.Core is a production-ready backend boilerplate for building enterprise APIs and microservices using ASP.NET Core. It provides a foundational infrastructure for distributed systems, including tools for database-first scaffolding and the implementation of multi-tenant API frameworks. The project distinguishes itself through automated data layer generation, which produces entity models and repository layers directly from database schemas. It implements a centralized identity management system using standard identity server protocols to handle authentication and authorization across multiple
Automatically creates model, service, and repository classes from existing database tables using templates.
PostgREST ist ein Tool, das automatisch ein PostgreSQL-Datenbankschema in eine produktionsreife RESTful-API transformiert. Es dient als Datenbankzugriffsschicht und Abfrage-Engine, die HTTP-Anfragen direkt auf SQL-Abfragen abbildet und eine Low-Code-Schnittstelle für die Ausführung von Create-, Read-, Update- und Delete-Operationen bietet, ohne dass manueller Boilerplate-Code erforderlich ist. Das Projekt zeichnet sich durch schema-gesteuerte API-Generierung und metadatenbasierte Erkennung aus, um Datenbanktabellen als navigierbare Ressourcen offenzulegen. Es erweitert Standard-CRUD-Funktionen durch die Ausführung von benutzerdefiniertem und templated SQL, ein Plugin-basiertes Middleware-System zur Injektion von Geschäftslogik und die Möglichkeit, externe Shared Libraries zur Laufzeit zu laden. Das System deckt ein breites Spektrum an Funktionen ab, einschließlich komplexer Datenabfragen mit Tabellen-Joins, Aggregationen und Volltextsuche. Es implementiert ein umfassendes Sicherheits-Framework mit tokenbasierter Authentifizierung, granularen Berechtigungen auf Tabellenebene und CORS-Management. Zusätzliche operative Funktionen umfassen lokales Result-Caching, Server-Health-Monitoring und Konnektivität für verteilte SQL-Datenbanken und Amazon Redshift. Die Installation wird über mehrere Umgebungen hinweg unterstützt, einschließlich als eigenständige Binärdatei oder über Docker Compose- und Heroku-Automatisierungstemplates.
Automatically transforms database schemas into functional REST HTTP endpoints without manual boilerplate code.
grpc-web ist eine Übersetzungsschicht und ein Proxy-System, das es Webbrowsern ermöglicht, mit gRPC-Backend-Diensten zu kommunizieren. Es besteht aus einem gRPC-Web-Proxy, der browserbasierte HTTP- und WebSocket-Anfragen in Standard-gRPC-Aufrufe umwandelt, sowie einem TypeScript-gRPC-Client für typsichere Remote Procedure Calls aus Browsern oder Node.js-Umgebungen. Das Projekt bietet eine bidirektionale Streaming-Bridge, die WebSockets nutzt, um Browser-Einschränkungen zu umgehen, was Vollduplex-Kommunikation und clientseitiges Daten-Streaming ermöglicht. Es enthält einen Protocol-Buffer-Codegenerator, der Schema-Dateien parst, um typisierte JavaScript- und TypeScript-Request- und Response-Klassen zu erstellen. Das System deckt ein breites Spektrum an Funktionen ab, einschließlich Transportauswahl, CORS-Management zur Einschränkung genehmigter Ursprünge und sicherer Backend-Konnektivität via TLS-Verschlüsselung. Es bietet zudem Proxy-Traffic-Überwachung zur Verfolgung von Anfragen und Verbindungen durch Metriken und Debug-Endpunkte.
Parses .proto files to generate typed JavaScript and TypeScript request and response classes.
Cerbos is an open-source authorization service that provides a centralized, language-agnostic engine for managing access control. It functions as a policy-as-code platform, allowing teams to define, test, and distribute authorization rules using declarative YAML or JSON configurations. By decoupling access logic from application code, it enables consistent permission enforcement across diverse service stacks. The project distinguishes itself through its ability to translate high-level authorization policies into native database query filters. This capability allows applications to enforce sec
Defines query plans that enforce resource access conditions at the database level.
Dieses Projekt ist ein Protocol-Buffer-Validierungs-Plugin und Code-Generator, der konsistente Validierungslogik über mehrere Programmiersprachen hinweg erstellt. Es fungiert als Compiler-Erweiterung für die Protocol-Buffer-Toolchain und ermöglicht es Entwicklern, semantische Constraints direkt in Schema-Dateien zu definieren, um Datenkonsistenz sicherzustellen. Das Tool verwendet benutzerdefinierte Optionen, um Validierungsregeln in Nachrichtendefinitionen einzubetten und diese Schema-Constraints auf sprachspezifische Implementierungsmuster zu mappen. Es nutzt prädikatbasierte Constraint-Prüfung und rekursive Traversierung, um Regeln über verschachtelte Nachrichtenhierarchien hinweg durchzusetzen. Die Validierung umfasst numerische Bereiche und Werte, String-Muster und -Formate, Byte-Sequenz-Constraints sowie Enum-Durchsetzung. Zudem verwaltet es Sammlungen und Größen wiederholter Felder, komplexe Typvalidierung für Zeitstempel und Zeitdauern sowie Anforderungen für die Auswahl von Union-Feldern.
Provides a protoc plugin that generates code to enforce semantic constraints and data validation rules for messages.
Space Cloud ist eine selbstgehostete, Cloud-native Backend-as-a-Service-Suite. Sie fungiert als Kubernetes-basierte Serverless-Plattform, die ein GraphQL- und REST-API-Gateway, einen Datenbank-API-Generator und einen ereignisgesteuerten Orchestrator bereitstellt. Die Plattform transformiert SQL- und NoSQL-Datenbankschemata in sichere Endpunkte, wodurch manuelles Backend-Development entfällt. Sie zeichnet sich dadurch aus, dass sie Remote-Data-Joins ermöglicht, die Datensätze aus internen Datenbanken und externen HTTP-Microservices innerhalb einer einzigen Abfrage kombinieren. Das System deckt ein breites Spektrum an Funktionen ab, darunter regelbasierte Zugriffskontrolle für Datensicherheit, Echtzeit-Datensynchronisation und eine einheitliche Schnittstelle für Cloud-Objektspeicher. Es enthält zudem eine Automatisierungs-Engine zum Auslösen asynchroner Webhooks und Serverless-Funktionen als Reaktion auf Datenbank- oder Dateisystemereignisse. Das Deployment wird über Kubernetes verwaltet und unterstützt containerisierte Workloads mit Scale-to-Zero-Autoscaling.
Automatically transforms database schemas into functional GraphQL and REST endpoints.