/ItauCoinExchange

.NET 5, C# 9.0, Docker, Docker Compose, Hexagonal Architecture, Domain-Driven Design

Primary LanguageC#

ItauCoinExchange

Este projeto exemplica a implementação de uma aplicação que consome um serviço de conversão de moedas estrangeiras e fornece a cotação por segmento de negócio. Construída em .NET 5 sob um arquitetura hexagonal e aplicando os conceitos de Domain-Driven Design.

.NET 5 CodeFactor

Tecnologias

WebServices

Arquitetura

diagrama


Execução

Acesse o site CurrConv API, crie uma conta e obtenha a chave de acesso para uso dos serviços disponíveis (se já possuir uma conta na plataforma, poderá ser utilizada) Abra o arquivo itaucoinexchange-api.env e altere o valor da variável CurrconvApiOptions__ApiKey para a chave obtida.

Iniciar a aplicação

docker-compose -f docker-compose.itau-coin-exchange.yml up --build

O arquivo docker-compose.itau-coin-exchange.yml configura o container para a aplicação e para o banco de dados SQL Server.

Acesse https://localhost:5000/swagger/index.html para abrir a especificação da API.

Endpoints

Retorna todos os segmentos cadastrados.

Response

{
  "Success": true,
  "Data": [
    {
      "Id": "1568974",
      "Name": "Private",
      "ExchangeRate": 0.1
    },
    {
      "Id": "658568",
      "Name": "Varejo",
      "ExchangeRate": 0.25
    },
    {
      "Id": "6653178864",
      "Name": "Segmento Personnalite",
      "ExchangeRate": 0.36
    }
  ],
  "Messages": []
}

Atualiza a taxa de câmbio do segmento selecionado.

Response

{
  "Success": true,
  "Data": 
  {
      "Id": "6653178864",
      "Name": "Segmento Personnalite",
      "ExchangeRate": 0.36
   },
  "Messages": []
}

Consulta a conversão de um montante para Real(BRL).

Response

{
  "Success": true,
  "Data": 
  {
      "SegmentId": "6653178864",
      "SegmentName": "Segmento Personnalite",
      "CoinFrom": "USD",
      "Amount": 10.00,
      "CoinTo": BRL,
      "ConvertedAmount": 54.67
   },
  "Messages": []
}

Autor

Carlos Dias