Este projeto é um microframework de aplicação web com sintaxe expressiva e elegante. Ao utilizar a estrutura deste projeto você elimina a dor do desenvolvimento facilitando tarefas comuns usadas em muitos projetos da web, como:
- Serviço de injeção de dependência
- Database ORM
- Gerenciamento de rotas
- Autenticação com JWT
O framework Laravel possui alguns requisitos:
- Go 1.18
- Docker
A maneira recomendada de instalar este projeto é seguindo estas etapas:
- Realize o clone do projeto para a sua máquina
git clone git@github.com:ReinanHS/golang-web-api-structure.git
- Acessar as pastas do projeto
cd golang-web-api-structure
cp .env.example .env
make up
make server
Esse projeto roda nos seguintes softwares:
- Git 2.33+
- Go 1.18
- Gin
- Gorm
As rotas aceitam um URI e um encerramento, fornecendo um método muito simples e expressivo de definir rotas e comportamento sem arquivos de configuração de roteamento complicados.
Para você definir uma nova rota você deve editar o seguinte arquivo: internal/http/config/route.go
func AddRoutes(ctx context.Context, router *gin.Engine) *gin.Engine {
// Adicione suas rotas aqui
router.GET("/", user.NewUserController(ctx).Index)
return router
}
Por favor, veja CHANGELOG para obter mais informações sobre o que mudou recentemente.
Quer fazer parte desse projeto? Clique AQUI e leia como contribuir.
Se você descobrir algum problema relacionado à segurança, envie um e-mail para reinangabriel1520@gmail.com em vez de usar o issue.
Esse projeto está sob licença. Veja o arquivo LICENÇA para mais detalhes.