30 open-source projects similar to goadesign/goa, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Goadesign Goa alternative.
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
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
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
Go-micro is a distributed systems development toolkit designed for building, connecting, and managing modular microservices. It provides a comprehensive framework for service discovery, remote procedure call abstraction, and event-driven messaging, allowing developers to create decoupled architectures that communicate asynchronously through shared message brokers. The project distinguishes itself by integrating autonomous agent orchestration and language model tool binding directly into the service lifecycle. By exposing internal service endpoints as standardized tools, it enables AI agents t
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,
orpc is a contract-first API development framework for TypeScript that starts with a shared contract definition and generates type-safe clients and servers from that single source of truth. It guarantees end-to-end type safety, meaning inputs, outputs, errors, and streaming data are all checked at compile time across the client–server boundary. What distinguishes orpc from typical RPC frameworks is its ability to export contracts as OpenAPI specifications, to optimize server-side rendering by calling API handlers directly inside the server process, and to support real‑time bidirectional commu
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
Connexion is a spec-first Python web framework designed to derive server behavior and validation logic directly from a predefined API contract. It enables the development of web services by using an OpenAPI specification to automatically handle routing, request validation, and response serialization. The framework distinguishes itself by acting as an OpenAPI request validator and mock server. It can simulate API behavior by serving example responses based on specification schemas, allowing for frontend development and prototyping before a backend implementation is completed. Additionally, it
AWS Powertools for Python is a utility framework designed for building production-ready Python functions on AWS Lambda. It provides a comprehensive suite of tools for observability, event parsing, routing, and idempotency management to streamline the development of serverless applications. The project distinguishes itself through specialized capabilities for event-driven architectures and AI agent orchestration. It enables the implementation of AI agents by exposing functions as tools via OpenAPI schemas and managing conversation states. Additionally, it features an idempotency library that p
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
Dry-validation is a Ruby library designed for defining type-safe schemas and complex validation rules to verify and sanitize input data structures. It provides a formal framework for constructing modular validation logic, ensuring that incoming information meets specific business requirements and data formats before it is processed by an application. The library utilizes a domain-specific language to declare validation rules, which are then parsed into executable objects. It distinguishes itself through a macro-driven system that bundles common validation logic into reusable shortcuts, alongs
APIStar is an OpenAPI framework providing a toolkit for building and verifying web APIs. It functions as an API schema validator, a traffic auditor, and a documentation generator to ensure compliance with API specifications and data types. The project converts OpenAPI and Swagger schemas into visual developer guides using customizable themes. It also implements a dynamic API client that adapts to defined schemas to send requests to remote servers. The framework includes capabilities for validating API schemas to identify structural mistakes and auditing incoming and outgoing web traffic agai
Django Ninja is a high-performance framework for building type-safe REST APIs using Django. It functions as an OpenAPI API framework and a type-safe wrapper that utilizes Python type hints to handle request validation and response serialization. The project distinguishes itself by integrating Pydantic-based data modeling to convert JSON inputs into strongly typed Python objects. It automatically generates OpenAPI schemas and interactive documentation pages directly from defined endpoint signatures. The framework supports asynchronous request processing to handle concurrent tasks. It employs
MyBatis Generator is a tool that inspects database tables to automatically produce model objects, mapper interfaces, and SQL configuration files. It functions as a database schema mapper and CRUD operation generator, translating relational database columns into language-specific classes and records. The project is an extensible code generator that allows for the customization of output files through a plugin mechanism. This framework enables the addition of specific business logic or the modification of the generation process to produce tailored output files. The generator covers a broad ran
This project is a Protocol Buffers Go compiler and code generation framework that translates schema definitions into optimized Go structures and reflection-free serialization methods. It includes a gRPC service generator for producing client and server communication code and a serialization performance toolkit for generating automated benchmarks and test suites. The framework features a plugin-based system for transforming data definitions into source code with custom field mapping and struct tag injection. It allows for custom type mapping and struct type overriding to link data fields to sp
Vapor is a comprehensive server-side web framework designed for building scalable, high-performance applications and APIs in Swift. It provides a non-blocking, event-loop-based runtime that manages concurrent task processing, background job queues, and asynchronous request handling. The framework is built around a dependency injection container that manages the lifecycle and resolution of services, configurations, and database connections throughout the request pipeline. The framework distinguishes itself through a protocol-oriented design that emphasizes type safety across all layers of the
Koa is a lightweight web framework for Node.js designed for building HTTP applications and servers. It functions as an asynchronous middleware engine that processes network requests through a sequence of functions sharing a common context. The framework distinguishes itself by using an onion-model middleware stack and promise-based flow control. This architecture allows requests to flow downstream and responses to flow back upstream through the same chain, enabling non-blocking request cycles and a modular approach to handling network traffic. The system provides high-level capabilities for
This project provides a comprehensive guide to architectural patterns and best practices for building scalable, maintainable, and performant web applications using FastAPI. It focuses on standardizing development approaches for Python web services, emphasizing robust request validation, dependency injection, and automated documentation standards to ensure consistent API design. The guide distinguishes itself by promoting domain-driven modular packaging, which organizes application logic into isolated, feature-based directories to support long-term codebase scalability. It also details strateg
Hyperf is a high-performance PHP coroutine framework designed for building microservices and middleware. It utilizes non-blocking coroutines to handle high concurrency and low-latency request processing, providing a foundation for scalable distributed systems. The framework is distinguished by an aspect-oriented programming based dependency injector that enables pluggable components and meta-programming. It includes a coroutine-optimized object-relational mapper with integrated model caching and an orchestration toolkit for microservice governance, featuring service discovery, circuit breaker
LoopBack Next is a Node.js API framework used for building REST and multi-protocol APIs. It functions as an OpenAPI server implementation that can either generate machine-readable specifications from code or produce implementation controllers and models from existing specifications. The framework distinguishes itself through a central dependency injection container and a repository-pattern data access layer. This architecture decouples application logic from component construction and persistent storage, allowing for a pluggable system where data sources and business logic are isolated throug
Fiber is a high-performance web framework designed for building scalable HTTP services with minimal memory overhead. It provides a comprehensive runtime environment for managing the full request lifecycle, utilizing an optimized radix tree for high-speed route matching and an object pooling system to reduce garbage collection pressure during traffic processing. The framework distinguishes itself through its multi-process architecture, which supports prefork socket reuse to distribute incoming traffic across all available CPU cores. It offers a modular approach to application development, feat
Sanic is an asynchronous Python web framework designed for building high-performance APIs and services. It operates as a production-ready ASGI web server, utilizing a non-blocking event loop to handle concurrent requests and maximize throughput. The framework is built to support scalable architectures, offering built-in worker process management to distribute traffic across available CPU cores. What distinguishes Sanic is its focus on modularity and developer-centric tooling. It features a blueprint-based system for organizing complex applications into pluggable components, alongside a robust
Seneca is a message-driven architecture framework and microservices toolkit for Node.js. It functions as a distributed task orchestrator and pattern-based message router, allowing developers to build systems of decoupled services that communicate via a message bus. The framework distinguishes itself through a modular plugin system that organizes business logic into reusable, configurable modules. It supports dynamic action extensions, enabling new handlers to wrap or override existing action patterns to inject custom logic without modifying original code. The system covers a broad range of c
a cloud native application framework for Go with rich eco-system
Chi is a lightweight, idiomatic router and middleware framework for building web services in Go. It is designed to integrate directly with the standard library, providing a set of utilities for managing HTTP request routing, context propagation, and modular service composition. The project distinguishes itself through a radix-tree-based routing system that supports recursive nesting, allowing developers to mount independent sub-routers onto specific path prefixes. This hierarchical structure enables the creation of organized, modular applications where request handlers are grouped and managed
Gin is a web framework designed for building high-performance web services and APIs. It functions as a middleware-oriented engine that processes incoming HTTP requests through a sequential chain of handlers, allowing for the modular management of cross-cutting concerns such as authentication and logging. The framework utilizes a radix tree data structure to perform request routing, ensuring high-speed path matching with minimal memory overhead. It distinguishes itself by employing a zero-reflection dispatch mechanism that invokes handler functions through static type assertions, avoiding the
Kit is a microservices architectural framework and toolkit for Go. It provides a set of standardized primitives and abstractions for implementing service, endpoint, and transport layers in a decoupled manner. The framework focuses on system instrumentation through integrated distributed request tracing and a service instrumentation toolkit that utilizes counters and gauges to export performance data to external monitoring backends. It includes a structured logging library that records system events as key-value pairs to ensure compatibility with log aggregation tools. The project covers a br
The Serverless Framework is a declarative infrastructure-as-code tool designed to automate the deployment, scaling, and lifecycle management of cloud-native applications. It provides a unified command-line interface that translates high-level configuration files into provider-specific resource templates, enabling developers to orchestrate complex architectures, event-driven functions, and cloud resources within a single project structure. What distinguishes this framework is its focus on developer experience and multi-environment parity. It supports local function invocation and event proxyin
Cowboy is a high-performance HTTP server for Erlang and OTP. It is designed to handle web traffic with low memory usage and can be used as a standalone server or as an embedded networking library integrated directly into an existing application. The project implements modern transport protocols, including HTTP/3, QUIC, and WebTransport, to enable faster connections and bidirectional data streaming. It also functions as a real-time communication server supporting Server-Sent Events for pushing asynchronous updates to clients. Broad capabilities include path and content-type based request rout
MochiWeb is an Erlang library for building lightweight HTTP servers.