Pitch: Backend RESTful Go de prateleira

Pro pessoal que tem interesse em desenvolvimento de backend em go, fiz um projetinho de brincadeira e pensei em corpartilhar por aqui...

Trata-se de um framework que faz o backend em Go para o desenvolvedor a partir da definição da sua base de dados (descreve os dados numa estrutuda no próprio pacote, carrega ele de um json). Por exemplo:

var UserResource = gosimplerest.Resource{
	Name:      "users",
	PrimaryKey: "uuid",
	Fields: map[string]gosimplerest.Field{
		"uuid":       {},
		"first_name": {},
		"phone":      {},
		"created_at": {},
		"deleted_at": {},
	},
	SoftDeleteField: null.NewString("deleted_at", true),
}

Basicamente vai criar as rotas básicas automaticamente (GET, GET/id, POST, PUT, PATCH, DELETE, HEAD, HEAD/id), e pode ser implementado com diferentes frameworks web da linguagem.

O projeto abre mão da característica de "type safety" do go pra alcançar uma maior generalização.

Enfim, o projeto está em https://github.com/franciscoescher/gosimplerest

Tem um passo a passo em inglês de como comecei a implementar em https://medium.com/@francisco-escher/golang-restful-api-out-of-the-box-6875bc19adbe

Espero que desperte algum interesse :)