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
- Host: GitHub
- URL: https://github.com/lukasveiga/customers-users-transactions
- Owner: Lukasveiga
- Created: 2024-07-09T22:46:35.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-15T02:01:54.000Z (almost 2 years ago)
- Last Synced: 2024-09-15T15:14:02.084Z (almost 2 years ago)
- Topics: golang, grpc, nginx, rest-api, swagger
- Language: Go
- Homepage:
- Size: 410 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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:
- Criar, consultar, atualizar e remover todas as trasações de uma determinada conta.
- Gerar um PDF contendo uma tabela simples com as transações de uma conta específica.
## Requisitos do Projeto:
- Criação de uma API RESTful com todos os CRUDs.
- Documentação com Swagger/OpenAPI.
- Endpoint GET /contas/{id}/transacoes.pdf para retornar um PDF com uma tabela das transações de uma conta específica.
## Diferenciais utilizados:
- Implementação de gRPC.
- Criação de Dockerfile para facilitar a execução do projeto em ambientes padronizados.
- Testes unitários abrangentes.
- Configuração de CI/CD utilizando GitHub Actions.
- Suporte a multi-tenancy.
- 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:
