Skip to content

Instantly share code, notes, and snippets.

@virgiliojr94
Last active April 19, 2024 12:41
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save virgiliojr94/56703ef76b71aee2d56d646b73841a4a to your computer and use it in GitHub Desktop.
Save virgiliojr94/56703ef76b71aee2d56d646b73841a4a to your computer and use it in GitHub Desktop.
Desafio: Terminal de Gerenciamento de Investimentos [Off] [Estagiário] [Junior]

Desafio: Terminal de Gerenciamento de Investimentos [Off] [Estagiário] [Junior]

Contexto

Ativos financeiros representam a posse de um direito econômico que pode gerar lucro ao longo do tempo. Os ativos possuem preço, identificação, titular, tipo (ações, títulos do tesouro direto, títulos de CDB, etc...) e podem ser negociados no mercado financeiro dependendo da política de cada tipo. Também são conhecidos como "papéis" embora sejam títulos digitais intangíveis. Um ativo financeiro pode aumentar de rentabilidade ao longo do tempo, por exemplo, quem comprou uma ação da Empresa A na bolsa da Nasdaq no dia 2 de novembro de 2020, pagou $52,95. Hoje esse mesmo ativo está valendo $69,33 representando uma rentabilidade de %30,93 para o titular.

Aplicativos de carteira de investimentos são muito comuns no mercado financeiro quando estamos falando do gerenciamento de ativos financeiros. A ideia é ajudar investidores a manterem sua lista de ativos comprados, rendimento, valor total por ativo, tipo de operação, etc…

Desafio

Criar uma aplicação de carteira de investimentos que receba entradas e responda operações, funcionando pelo terminal de execução da aplicação (uma aplicação de console).

Você não precisa se preocupar em fazer uma API web service ou persistir os dados de entrada informados pelo usuário num banco de dados, os dados podem ser mantidos em memória durante a execução do programa. É preciso informar um conjunto de dados que pode ser usado para testes.

Essa aplicação deverá suportar as operações descritas abaixo:

Adicionar um novo ativo na carteira:

O usuário informa os dados de entrada contendo o código do ativo que foi comprado (ex.: STNE, GOOG, PGRM), quantidade de ativos e o valor pago por cada unidade do ativo

Visualizar a lista de ativos investidos

Semelhante a um extrato bancário, esse comando deverá exibir uma lista de ativos investidos, informando código, preço de cada unidade do ativo, valor total alocado no ativo e data de compra.

Informar a venda de um ativo

Esse comando servirá para informar a venda de um ativo. O usuário irá informar o código do ativo e quantas unidades ele vendeu. O usuário não deve conseguir vender ativos que não existem na carteira.

Visualizar um resumo do valor total investido em todos os ativos e também o valor investido em cada ativo

Comando que deve exibir um resumo da carteira de investimentos do usuário. O objetivo é mostrar o valor total da carteira e o valor total alocado por ativos.

Requisitos

  • Utilização da linguagem de programação C# e o framework .NET Core na sua última versão
  • Versionamento no Github
  • Implementação de um menu numérico que apresenta todas as operações possíveis e também a opção de saída da aplicação. Esse menu será exibido na inicialização da aplicação

Opção de retornar ao menu em todos os comandos

O que iremos avaliar:

  • Funcionalidade da aplicação
  • Teste unitários
  • Documentação dos comandos
  • Validação de comandos
  • Entrega do desafio
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment