a tool for quickly creating web and microservice code

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Gin

    Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.

  • Web framework gin

  • grpc-go

    The Go language implementation of gRPC. HTTP/2 based RPC

  • RPC framework grpc

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • viper

    Go configuration with fangs

  • Configuration file parsing viper

  • Nacos

    an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.

  • Configuration Center nacos

  • Redis

    Redis Go client

  • Caching component go-redis ristretto

  • swag

    Automatically generate RESTful API documentation with Swagger 2.0 for Go.

  • Documentation swagger

  • jwt

    Community maintained clone of https://github.com/dgrijalva/jwt-go (by golang-jwt)

  • Authorization jwt

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • validator

    :100:Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving

  • Validator validator

  • client_golang

    Prometheus instrumentation library for Go applications

  • Monitoring prometheus, grafana

  • Grafana

    The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.

  • Monitoring prometheus, grafana

  • etcd

    Distributed reliable key-value store for the most critical data of a distributed system

  • Service registry and discovery etcd, consul, nacos

  • consul

    Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.

  • Service registry and discovery etcd, consul, nacos

  • golangci-lint

    Fast linters Runner for Go

  • Code inspection golangci-lint

  • Jenkins

    Jenkins automation server

  • Continuous Integration CI jenkins

  • kubernetes

    Production-Grade Container Scheduling and Management

  • Continuous Deployment CD docker, kubernetes

  • golang-standards/project-layout

    Standard Go Project Layout

  • The code directory structure follows project-layout, and the code directory structure is shown below.

  • cmder

    Lovely console emulator package for Windows

  • Protobuf

    Protocol Buffers - Google's data interchange format

  • Download it from https://github.com/protocolbuffers/protobuf/releases/tag/v3.20.3 and add the directory where the protoc file is located under systempath.

  • protoc-gen-validate

    Discontinued protoc plugin to generate polyglot message validators [Moved to: https://github.com/bufbuild/protoc-gen-validate] (by envoyproxy)

  • Dependency plugins and tools are automatically installed after executing the command: protoc-gen-go, protoc-gen-go-grpc, protoc-gen-validate, protoc-gen-gotag, protoc-gen-go-gin, protoc-gen-go-rpc-tmpl, protoc-gen-openapiv2, protoc-gen-doc, golangci-lint, swag, go-callvis.

  • hub-feedback

    Feedback and bug reports for the Docker Hub

  • Check the parameter description command sponge web http -h, note that the parameter repo-addr is the image repository address, if you use the official docker image repository, you only need to fill in the username of the registered docker repository, if you use the private repository address, you need to fill in the full repository address.

  • protoc-gen-gotag

    Add custom struct tags to protobuf generated structs

  • Dependency plugins and tools are automatically installed after executing the command: protoc-gen-go, protoc-gen-go-grpc, protoc-gen-validate, protoc-gen-gotag, protoc-gen-go-gin, protoc-gen-go-rpc-tmpl, protoc-gen-openapiv2, protoc-gen-doc, golangci-lint, swag, go-callvis.

  • sponge

    Sponge is a powerful Go development framework, it's easy to develop web and microservice projects.

  • Dependency plugins and tools are automatically installed after executing the command: protoc-gen-go, protoc-gen-go-grpc, protoc-gen-validate, protoc-gen-gotag, protoc-gen-go-gin, protoc-gen-go-rpc-tmpl, protoc-gen-openapiv2, protoc-gen-doc, golangci-lint, swag, go-callvis.

  • grpc-gateway

    gRPC to JSON proxy generator following the gRPC HTTP spec

  • Dependency plugins and tools are automatically installed after executing the command: protoc-gen-go, protoc-gen-go-grpc, protoc-gen-validate, protoc-gen-gotag, protoc-gen-go-gin, protoc-gen-go-rpc-tmpl, protoc-gen-openapiv2, protoc-gen-doc, golangci-lint, swag, go-callvis.

  • protoc-gen-doc

    Documentation generator plugin for Google Protocol Buffers

  • Dependency plugins and tools are automatically installed after executing the command: protoc-gen-go, protoc-gen-go-grpc, protoc-gen-validate, protoc-gen-gotag, protoc-gen-go-gin, protoc-gen-go-rpc-tmpl, protoc-gen-openapiv2, protoc-gen-doc, golangci-lint, swag, go-callvis.

  • go-callvis

    Visualize call graph of a Go program using Graphviz

  • Dependency plugins and tools are automatically installed after executing the command: protoc-gen-go, protoc-gen-go-grpc, protoc-gen-validate, protoc-gen-gotag, protoc-gen-go-gin, protoc-gen-go-rpc-tmpl, protoc-gen-openapiv2, protoc-gen-doc, golangci-lint, swag, go-callvis.

  • Docker Compose

    Define and run multi-container applications with Docker

  • Use jaeger for tracing and elasticsearch for storage, and start both services locally using docker-compose.

  • wrk

    Modern HTTP benchmarking tool

  • Using the wrk tool to pressure test the api

  • aegis

    Service Reliability Algorithm (by go-kratos)

  • Rate limiter and circuit breaker use a third-party library aegis, which adapts according to system resources and error rates. Since different servers have different processing capabilities and parameters are not well set, using adaptive parameters avoids the trouble of manually setting parameters for each service.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts