Teste Técnico Frontend

XP Investimentos - 2022

2022

React

São Paulo, Brasil

Bancos

2.000 - 5.000

XP Investimentos é uma renomada corretora brasileira, oferecendo serviços financeiros como investimentos, trading e assessoria. Fundada em 2001, tornou-se líder no mercado, com plataforma digital e ampla variedade de produtos.

Sobre o Teste

Neste teste técnico você deverá desenvolver uma aplicação que se assemelha ao nosso dia a dia, um aplicativo de investimento em ações, com algumas funcionalidades de conta digital. Entregue bem os requisitos mínimos, mas não se limite a eles. Sonhe grande, seja criativo! Aqui na XP valorizamos pessoas que vão além do óbvio, sempre com foco no cliente. Você terá cerca de 5 minutos para apresentar seu projeto. Procure trazer os desafios que enfrentou na execução e o que fez para superá-los. Na XP acreditamos na máxima: errar rápido para crescer mais rápido ainda! Bom desafio!

Instruções do Teste

Desafio de front-end

Requisitos Mínimos Gerais

Faça um readme que contenha:

  • Uma explicação sobre suas tomadas de decisão na abordagem de seu desafio
  • Instruções de como compilarmos e executarmos seu projeto
  • Outras informações que você considere importantes

## Requisitos Mínimos | Mobile ou Front-End

Se você escolher as áreas Mobile ou Front-End, esperamos que você desenvolva:

  • Tela de Login
  • Tela de Depósito e Saque numa conta digital
  • Uma tela que liste todas as ações disponíveis (considere diferenciar as ações que já estão na carteira da pessoa investidoradaquelas ações que ela não investiu)
  • Tela de Compra/Venda de Ações

Imagens Ilustrativas

Imagem 01

Imagem 02

## Requisitos Acionais | Mobile ou Front-End

  • Salvar localmente o último usuário logado; Data e hora do acesso (apresentando o último email logado na tela de login)
  • Validação de email e senha
  • Testes unitários
  • Tratamento de erros
  • Deploy da aplicação

Dados Adicionais

Requisições para investimento - Compra

POST (/investimentos/comprar)

O endpoint recebe como entradas o código do ativo, a quantidade de ações compradas, número da conta compradora

Descrição dos Campos

  • codCliente: código do cliente (identificador único)
  • codAtivo: código de identificação única do ativo
  • qtdeAtivo: quantidade de ações a serem compradas

Validações a serem feitas: Quantidade de ativo a ser comprada não pode ser maior que a quantidade disponível na corretora

Requisições para investimento - Venda

POST (/investimentos/vender)

O endpoint recebe como entradas o id do ativo, a quantidade de ações vendidas, número da conta vendedora

Descrição dos Campos

  • codCliente: código do cliente (identificador único)
  • codAtivo: código de identificação única do ativo
  • qtdeAtivo: quantidade de ações a serem compradas

Validações a serem feitas: Quantidade de ativo a ser vendida não pode ser maior que a quantidade disponível na carteira

Requisições para investimento - Get By Client

GET BY CLIENT(/ativos/{cod-cliente})

  • codCliente: código de identificação única da pessoa cliente
  • codAtivo: código de identificação única do ativo
  • qtdeAtivo: quantidade de ações que o cliente possui
  • valor: Valor da ação

Requisições para investimento - Get By Assets

GET BY ASSETS(/ativos/{cod-ativo})

  • codAtivo: código de identificação única do ativo
  • qtdeAtivo: quantidade de ações que o cliente possui
  • valor: Valor unitário da ação a ser negociada

Requisição para depósitos

POST (/conta/deposito)

  • codCliente: código de identificação única da pessoa cliente
  • valor: Valor do depósito

Validações a serem feitas: Quantidade a ser depositada não poderá ser negativa ou igual a zero.

Requisição para saques

POST (/conta/saque)

  • codCliente: código de identificação única da pessoa cliente
  • valor: Valor do saque

Validações a serem feitas: Quantidade a ser sacada não poderá ser maior que o saldo da conta; não pode ser negativa ou igual a zero.