Teste Técnico Frontend
XP Investimentos - 2022
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
## 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 ativoqtdeAtivo
: 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 ativoqtdeAtivo
: 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 clientecodAtivo
: código de identificação única do ativoqtdeAtivo
: quantidade de ações que o cliente possuivalor
: 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 ativoqtdeAtivo
: quantidade de ações que o cliente possuivalor
: 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 clientevalor
: 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 clientevalor
: 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.