Skip to content

Latest commit

 

History

History
52 lines (43 loc) · 2.1 KB

README.md

File metadata and controls

52 lines (43 loc) · 2.1 KB

gRPCX

GoDoc

gRPCX is a framework for building enterprise-grade Saas applications with gRPC. It is meant to be a batteries-included framework for building enterprise-grade gRPC services.

go get github.com/autom8ter/grpcx

Features

  • gRPC
  • gRPC-gateway
  • Serve Gateway/gRPC same port(cmux)
  • Flexible Provider/Interface based architecture: use the same code with different providers depending on tech stack
  • Metrics(prometheus)
  • File Storage dependency injection(local, gcs)
  • Structured Logging(slog)
  • Database Migrations(golang-migrate)
  • Database dependency injection(sqlite,mysql,postgres)
  • Cache dependency injection(redis)
  • Stream dependency injection(redis,nats)
  • Email dependency injection(smtp)
  • Payment Processing dependency injection(stripe)
  • Context Tagging Middleware/Interceptor
  • Authentication with protoc-gen-authenticate
  • Authorization with protoc-gen-authorize
  • Rate-limiting with protoc-gen-ratelimit
  • Request Validation with protoc-gen-validate
  • Compatible with protoc-gen-validate
  • Flexible configuration(viper)
  • Graceful Shutdown
  • Panic Recovery middleware/interceptor
  • CORS middleware(for gRPC-gateway)
  • Can be run completely in-memory for testing

Other gRPC Projects

TODO

  • Add more tests
  • Add more examples
  • Add more documentation
  • Add kafka stream provider
  • Add rabbitmq stream provider
  • Add sendgrid email provider
  • Add mailgun email provider
  • Add tracing support