https://github.com/eduzz/desafio-react-native
https://github.com/eduzz/desafio-react-native
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/eduzz/desafio-react-native
- Owner: eduzz
- Created: 2022-03-17T11:37:29.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-03-17T14:20:16.000Z (about 4 years ago)
- Last Synced: 2025-06-03T17:44:23.009Z (about 1 year ago)
- Size: 4.88 KB
- Stars: 0
- Watchers: 9
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Desafio React Native | Banco Virtual
Martha gostaria de ter um aplicativo que a permita inserir um valor (em reais) para saque e ela deseja que essa aplicação mostre o mínimo de cédulas disponíveis para o valor informado.
Esse aplicativo deve possuir duas telas: __caixa eletrônico__ e __extrato de movimentações financeiras__.
## Tela de Caixa Eletrônico
A tela de caixa eletrônico é responsável por receber o valor que Martha gostaria de sacar e exibir para ela o mínimo de cédulas para saque. Para isso, o aplicativo deve seguir as seguintes regras de negócio:
1. Existem apenas as seguintes notas para saque: R$ 20, R$ 50 e R$ 100;
2. O usuário só poderá sacar a quantia de R$ 10.000 entre 08h00 até 17h00 e, após esse horário, o valor é limitado para R$ 3.000 por questões de segurança;
3. O aplicativo deve retornar sempre o menor número de cédulas possíveis;
4. Ao fazer um saque, adicionar ao extrato de movimentações financeiras o valor, data e hora da transação.
### Exemplos:
- Martha deseja sacar o valor de R$ 120,00. O aplicativo deve retornar que ela receberá 1 nota de R$ 100,00 e outra de R$ 20,00;
- Martha deseja sacar o valor de R$ 130,00. O aplicativo deve retornar um erro;
- Martha deseja sacar o valor de R$ 150,00. O aplicativo deve retornar que ela receberá 1 nota de R$ 100,00 e outra de R$ 50,00.
## Tela de Extrato de Movimentações Financeiras
A tela de extrato de movimentações financeiras deve listar para Martha todos os saques realizados por ela. Esta tela deve conter obrigatoriamente:
- Uma listagem de todos os saques de Martha, por ordem decrescente de data;
- Cada transação deve ter o valor de saque realizado, juntamente com a data e hora;
- Um filtro por período de data dos saques.
## Requisitos técnicos
O aplicativo deve, __obrigatoriamente__:
- Ser feito utilizando React Native;
- Utilizar TypeScript.
Você é livre para criar a interface do aplicativo da forma que desejar e utilizar as bibliotecas e frameworks adicionais de sua preferência, desde que siga os requisitos obrigatórios acima.
Você deve consumir a API que está [na pasta api](https://github.com/eduzz/desafio-react-native/tree/master/api) deste repositório, para buscar e inserir os dados das transações financeiras. Para mais informações sobre a API, leia o README.md da pasta api.
## Entrega do desafio
Para realizar a entrega do desafio, você deve publicar seu código em um repositório do GitHub. Este repositório deve estar __público__ e deve conter as instruções mínimas para rodar o projeto.