Esta API REST foi desenvolvida utilizando a linguagem Go, o framework Gin, o ORM Gorm e o banco de dados PostgreSQL.
É uma API simples feita com foco no aprendizado da linguagem e das tecnologias que auxiliaram no desenvolvimento da API.
A API possui um único recurso, aluno
. É possível criar, listar, editar e excluir alunos. As buscas específicas podem ser feitas por ID ou por CPF.
As rotas para isso são:
GET /aluno
: lista todos os alunosGET /aluno/{{id}}
: recupera um aluno por IDGET /aluno/cpf/{{cpf}}
: recupera um aluno por CPFPOST /aluno
: cria um novo alunoPUT /aluno/{{id}}
: atualiza um aluno utilizando seu IDDELETE /aluno/{{id}}
: exclui um aluno por ID
O modelo para criação de um aluno é:
Nome: string
Cpf: string
Rg: string
As colunas ID
, CreatedAt
e UpdatedAt
são criadas e gerenciadas automaticamente pelo Gorm.
A API também conta com testes unitários feitos com o pacote Testify para garantir o correto funcionamento da API.
O arquivo docker-compose.example.yml
é utilizado como base do arquivo utilizado para criação do banco de dados e da plataforma de gerenciamento PgAdmin do postgreSQL. Para utilizar, basta alterar o nome do arquivo para docker-compose.yml
e alterar os valores das variáveis dentro do arquivo. Tendo o Docker instalado e rodando em sua máquina, utilize o comando docker compose up
para criar e executar as imagens.As variáveis em questão são:
POSTGRES_USER
: nome de usuário que terá acesso ao banco de dadosPOSTGRES_PASSWORD
: senha do usuárioPOSTGRES_DB
: nome do banco de dados que será utilizadoPGADMIN_DEFAULT_EMAIL
: email que será usado para acessar o PgAdmin (não precisa ser um email válido)PGADMIN_DEFAULT_PASSWORD
: senha do usuário do PgAdmin
go run main.go
: compila e executa a APIgo test
: executa os testes automatizados