Controle de Transação

Test

Esta aplicação visa simular operações em uma conta.

Tecnologias Utilizadas

  • Go 1.22.1
  • Banco de Dados Postgres
  • Gihub Actions
  • Docker

Bibliotecas utilizadas

Documentação

  • Quando a aplicação estiver rodando Clique aqui para acessar a documentação

  • Clique Aqui para pegar a collection do postman

Checklist de Funcionalidades

  • Criar contas
  • Recuperar contas
  • Criar transações
  • Salvar operações de COMPRA A VISTA, COMPRA PARCELADA e SAQUE como negativo no banco de dados
  • Verificar a existência da conta antes de salvar a transação
  • Erros personalizados
  • Validação do request body

Como rodar a aplicação

Requisitos necessários

Os requisitos necessários para rodar a aplicação são:

Clique nos links acima para instalar as dependências caso ainda não tenha no seu computador

make docker-compose-up

Este comando é responsável por subir o banco de dados e a aplicação em container docker deixando a aplicação pronta para receber requests. Neste comando fazemos o build da imagem docker da aplicação.

make run-go

Este comando é responsável por rodar a aplicação utilizando o go e subindo o banco de dados deixando a aplicação pronta para receber requests

Comandos no Makefile

make test

Este comando é responsável por rodar todos os testes unitários da aplicação.

make e2e_test

Este comando é responsável por rodar os testes end to end da aplicação.

make lint

Este comando é responsável por rodar os linters.

make docker-compose-up

Este comando é responsável por subir o banco de dados e a aplicação em container docker. Neste comando fazemos o build da imagem docker da aplicação.

make docker-compose-up-dependencies

Este comando é responsável por subir somente o banco de dados presente no docker-compose.yaml

make docker-compose-down

Este comando é responsável por parar os containers que estão rodando e fazem parte do docker-compose.yaml

make docker-build

Este comando é responsável por criar imagem docker da aplicação

make generate-swagger

Este comando é responsável por gerar a documentação swagger da aplicação

make run-go

Este comando é responsável por rodar a aplicação utilizando o go e subindo o banco de dados deixando a aplicação pronta para receber requests

Contato