A minimalist Go backend framework that automatically transforms gRPC services into REST and GraphQL APIs.
Thunder is a minimalist backend framework written in Go that effortlessly transforms gRPC services into fully functional REST and GraphQL APIs. It solves the complexity of building and maintaining multiple API interfaces by automatically generating them from a single Protobuf definition, streamlining development for scalable microservices.
Backend developers and teams building high-performance, scalable microservices who need to expose gRPC services as REST or GraphQL endpoints efficiently.
Developers choose Thunder for its automatic API generation, integrated Prisma database management, and Kubernetes-native design, which reduces boilerplate and accelerates deployment of production-ready services.
Thunder is a minimalist and powerful Go backend framework that effortlessly transforms gRPC services into fully functional REST and GraphQL APIs.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically exposes REST and GraphQL endpoints from gRPC services using gRPC-Gateway and grpc-graphql-gateway, reducing boilerplate code as shown in the .proto file examples.
Integrates Prisma for efficient, type-safe queries and migrations across PostgreSQL, MySQL, and SQLite, ensuring database consistency with auto-generated Go clients.
Built-in support for Kubernetes deployment with health checks, scaling, and service discovery, as demonstrated in the deployment configuration and secret management steps.
Thunder CLI offers commands for scaffolding projects, generating services, and deploying, accelerating development workflow with tools like the scaffold command for CRUD services.
Heavily relies on Prisma for database operations, which may not align with teams using other ORMs or prefer more flexible database layers.
Requires editing services.json for each new service to register handlers, adding manual overhead that could be automated.
Installation involves running scripts and managing prerequisites, with a separate tutorial needed for setup, which can be cumbersome for quick starts.