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
  • SonarLint - Clean code begins in your IDE with SonarLint
  • InfluxDB - Access the most powerful time series database as a service
  • 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

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • 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

    Type-safe Redis client for Golang

    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

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • 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

    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 microservice framework, a tool for quickly generate web and microservice code. (by zhufuyi)

    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

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