# README
API REST EM GOLANG COM GIN

Status do Projeto: concluido
Tópicos
:small_blue_diamond: Descrição do projeto
:small_blue_diamond: Funcionalidades
:small_blue_diamond: Pré-requisitos
:small_blue_diamond: 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
:heavy_check_mark: Crud completo no banco de dados;
:heavy_check_mark: Renderização da API na página HTML;
:heavy_check_mark: Testes das funçoes e rotas
Pré-requisitos
:warning: Golang :warning: Docker
Dependências a serem instaladas no terminal na pasta do projeto:
:heavy_check_mark: go get -u github.com/gin-gonic/gin)
:heavy_check_mark: go get -u gorm.io/gorm
:heavy_check_mark: go get gorm.io/driver/postgres
:heavy_check_mark: go get github.com/spf13/viper
:heavy_check_mark: go get gopkg.in/validator.v2
Como rodar a aplicação :arrow_forward:
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 :floppy_disk:
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 :books:
Resolvendo Problemas :exclamation:
Em issues foram abertos alguns problemas gerados durante o desenvolvimento desse projeto e como foram resolvidos.
Desenvolvedor:

Licença
The MIT License (MIT)
Copyright :copyright: Ano - Titulo do Projeto