Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aleroxac/alura-golang-gin
Projeto desenvolvido com base no treinamentos de Golang com Gin Gonic na plataforma Alura.
https://github.com/aleroxac/alura-golang-gin
alura docker docker-compose gin gin-gonic go golang orm postgres rest-api
Last synced: 26 days ago
JSON representation
Projeto desenvolvido com base no treinamentos de Golang com Gin Gonic na plataforma Alura.
- Host: GitHub
- URL: https://github.com/aleroxac/alura-golang-gin
- Owner: aleroxac
- Created: 2023-05-21T19:42:36.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-05-25T02:30:52.000Z (over 1 year ago)
- Last Synced: 2024-11-15T22:54:47.576Z (about 1 month ago)
- Topics: alura, docker, docker-compose, gin, gin-gonic, go, golang, orm, postgres, rest-api
- Language: Go
- Homepage: https://github.com/aleroxac/alura-golang-gin
- Size: 837 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# alura-golang-gin
Projeto desenvolvido com base no treinamentos de Golang com Gin Gonic na plataforma Alura.![App no ar](assets/app-on-air.png)
## Estrutura de pastas
```
.
├── assets
│ ├── app-on-air.png
│ ├── create_skill.png
│ ├── delete_skill.png
│ ├── get_skill_by_name.png
│ ├── list_skills.png
│ ├── thunder-collection_alura-golang-gin.json
│ └── update_skill.png
├── controllers
│ └── controllers.go
├── database
│ └── database.go
├── docker
│ ├── docker-compose.yaml
│ └── Dockerfile
├── go.mod
├── go.sum
├── main.go
├── Makefile
├── models
│ └── skills.go
├── README.md
└── routes
└── routes.go
```## Modo de uso
``` shell
## faça o build da imagem
make build## suba os containers via docker-compose
docker-compose -f docker/docker-compose.yaml up -d
```## CRUD
### Listar skills
![listagem de skills](assets/list_skills.png)
### Buscar skill por nome
![busca de skill por nome](assets/get_skill_by_name.png)
### Atualizar skill
![atualização de skill](assets/update_skill.png)
### Remover skill
![remoção de skill](assets/delete_skill.png)## Temas abordados
- API REST: net/http
- Framekwork Web: gin
- ORM: gorm## O que fiz de diferente
- Entidade principal skill
- CLI air, para live-reloading
- Collection para o ThunderClient
- Makefile
- Dockerfile
- String de conexão sendo composta por variáveis de ambiente, ao invés de uma string pura
- Rota /api/v1/healthz
- Campo ID do tipo UUID
- Busca por nome da skill, ao invés do ID