An open API service indexing awesome lists of open source software.

https://github.com/lukasveiga/customers-users-transactions

API that allows customers to know all transactions for a given user
https://github.com/lukasveiga/customers-users-transactions

golang grpc nginx rest-api swagger

Last synced: 3 months ago
JSON representation

API that allows customers to know all transactions for a given user

Awesome Lists containing this project

README

          



Desafio Técnico Golang: Transação de Usuários






















O objetivo do desafio é criar uma API RESTful para consultar transações de contas e gerar um PDF contendo as transações, focando em alta performance, escalabilidade e boas práticas de desenvolvimento.


Fonte: https://github.com/devconductor/desafio-golang

## Sobre o desafio:

O desafio consiste na construção de dois serviços que permitam:


  1. Criar, consultar, atualizar e remover todas as trasações de uma determinada conta.

  2. Gerar um PDF contendo uma tabela simples com as transações de uma conta específica.

## Requisitos do Projeto:


  1. Criação de uma API RESTful com todos os CRUDs.

  2. Documentação com Swagger/OpenAPI.

  3. Endpoint GET /contas/{id}/transacoes.pdf para retornar um PDF com uma tabela das transações de uma conta específica.

## Diferenciais utilizados:


  1. Implementação de gRPC.

  2. Criação de Dockerfile para facilitar a execução do projeto em ambientes padronizados.

  3. Testes unitários abrangentes.

  4. Configuração de CI/CD utilizando GitHub Actions.

  5. Suporte a multi-tenancy.

  6. Layout e design aprimorado para o PDF gerado.

## Tecnologias Utilizadas:



  • Linguagem: Golang


  • Banco de Dados: PostgreSQL


  • Testes Unitários: Testify


  • Containerização: Docker


  • CI/CD: GitHub Actions

## Diagrama de casos de uso: