API REST EM GOLANG COM GIN
Status do Projeto: concluido
Tópicos
🔹 Descrição do projeto
🔹 Funcionalidades
🔹 Pré-requisitos
🔹 Como rodar a aplicação
Descrição do projeto
Codei essa Api usando apenas Golang e usando o Framework Gin.
Desenvolvi uma API rest do zero, criando rotas, endpoints, modelos etc. Conectei a minha aplicação com um banco de dados Postgres o qual configurei usando o Docker-compose. Além disso, implementei o CRUD completo(GET, PATCH, POST, DELETE), fiz rotas para busca por ID, CPF e RG.
Criei e apliquei diferentes validações, realizei a criação de testes dos principais endpoints da minha aplicação, testes esses o qual conecta com banco de dados, cria e deleta recursos para mock de testes, entre outros.
Renderização para visualização das informações da API na página HTML, usando também o framework GIN.
Funcionalidades
✔ Crud completo no banco de dados;
✔ Renderização da API na página HTML;
✔ Testes das funçoes e rotas
Pré-requisitos
⚠ Golang
⚠ Docker
Dependências a serem instaladas no terminal na pasta do projeto:
✔ go get -u github.com/gin-gonic/gin)
✔ go get -u gorm.io/gorm
✔ go get gorm.io/driver/postgres
✔ go get github.com/spf13/viper
✔ go get gopkg.in/validator.v2
Como rodar a aplicação ▶
No terminal, clone o projeto:
$ git clone https://github.com/Gabriel-Newton-dev/gin-api-rest.git
Ainda no terminal execute:
$ go run main.go
Como rodar os testes
Para executar todos os testes
$ go test
Para executar um teste específico
$ go test -run + nome do teste
$ go test -run TestSearchByCPF (exemplo)
Casos de Uso
Para utilizar a mesma além de fazer as instalações necessárias conforme dito acima, se faz necessário criar e apontar as suas variáveis de ambiente privadas, para que você consiga configurar o docker-compose e subir o seu container com o respectivo banco de dados.
JSON 💾
Usuários:
ID |
created_at |
update_at |
delete_at |
nome |
cpf |
rg |
2 |
2023-01-05 22:20:34 |
2023-01-05 22:20:34 |
|
Gabriel Newton |
123.456.789-00 |
12.345.678-9 |
Iniciando/Configurando banco de dados
Para iniciar o banco de dados se faz necessário apontar as variaveis de ambiente, após rodar o comando:
$ docker-compose up
Linguagens, dependencias e libs utilizadas 📚
Resolvendo Problemas ❗
Em issues foram abertos alguns problemas gerados durante o desenvolvimento desse projeto e como foram resolvidos.
Desenvolvedor:
Licença
The MIT License (MIT)
Copyright © Ano - Titulo do Projeto