Skip to content

chemidy/api-development-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 

Repository files navigation

APIs development in go

Documentation, Tools, Frameworks/Kitq/Libs for APIs development in go.

Monolith VS MicroService :

Almost all the cases where I’ve heard of a system that was built as a microservice system from scratch, 
it has ended up in serious trouble.

Almost all the successful microservice stories have started with a monolith that got too big and was broken up.

Auth

APIs Design :

Guides :

How To design APIs.

Diagrams :

Tools To design Architecture.

  • go-diagrams : Go-Diagrams is a loose port of diagrams.

  • aws-icons-for-plantuml : PlantUML sprites, macros, and other includes for Amazon Web Services services and resources.

  • plantuml : PlantUML is a component that allows to quickly write diagrams.

  • The C4 model : The C4 model for visualising software architecture.

  • C4 PlantUML: C4-PlantUML combines the benefits of PlantUML and the C4 model for providing a simple way of describing and communicate software architectures.

APIs specifications :

REST

  • OpenAPIs : The OpenAPI Specification: a broadly adopted industry standard for describing modern APIs.

  • OpenAPI Spec 3.0.3 : OpenAPI spec V3 replace swagger V2.

GraphQL

  • GraphQL : A query language for your API.

gRPC

  • gRPC : A high-performance, open source universal RPC framework.

  • Protocol Buffers : Protocol Buffers - Google's data interchange format.

  • vscode-proto3 : vscode extension for proto3.

  • grpcui : grpcui is a command-line tool that lets you interact with gRPC servers via a browser.

APIs Tools :

  • httpie : HTTP cli with an intuitive UI.
  • Insomnia : Cross-platform HTTP and GraphQL Client.
  • Postman : Best Tool to test APIs (REST + GRAPHQL).
  • Postwoman : A free, fast and beautiful API request builder.
  • OpenAPI Editor : Best Tool to design OpenAPI spec online.
  • OpenAPI ReDoc UI : Best Tool to visualize OpenAPI docs.
  • OpenAPI CLI : Validate & bundle OpenAPI definitions, with rich diagnostics..
  • OpenAPI VSCode : OpenAPI extension for Visual Studio Code.
  • PlantUML : Generate UseCase, Sequence Diagram.

APIs traces/metrics :

  • OpenTelemetry : OpenTelemetry provides a single set of APIs, libraries, agents, and collector services to capture distributed traces and metrics from your application.

  • OpenCensus : OpenCensus is a set of libraries for various languages that allow you to collect application metrics and distributed traces. OpenCensus and OpenTracing have merged to form OpenTelemetry, which serves as the next major version of OpenCensus and OpenTracing.

  • Jaeger : Jaeger: open source, end-to-end distributed tracing.

APIs security :

Go Frameworks / Kits / Resources :

Go Developer Roadmap :

Documentation :

AUTH :

  • casbin : An authorization library that supports access control models like ACL, RBAC, ABAC

SQL :

  • Gorm : The fantastic ORM library for Golang.
  • sqlmock : Sql driver mock for Golang.

Web Frameworks :

  • Beego : Beego is used for rapid development of RESTful APIs, web apps and backend services in Go.
  • Buffalo : Rapid Web Development w/ Go.
  • Echo : High performance, minimalist Go web framework.
  • Go-Kit : A standard library for microservices.
  • Go Micro : The Go Micro services development framework.
  • Gin : Web Framework / API for Golang.
  • Cors : Go net/http configurable handler to handle CORS requests.
  • Validator : Go Struct and Field validation.

OpenAPI :

  • oapi-codegen : Generate Go client and server boilerplate from OpenAPI 3 specifications.

gRPC

Security

  • gosec : Golang security checker.

Test

  • Ginkgo : BDD Testing Framework for Go.
  • Testify : Testify - Thou Shalt Write Tests.
  • Go Leak : Goroutine leak detector to help avoid Goroutine leaks.

Container :

About

Documentation, Tools, Framework/KIt/Libs for APIs development in go

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published