├── README.md └── images ├── input.png └── result.png /README.md: -------------------------------------------------------------------------------- 1 | ![Easynvest](https://camo.githubusercontent.com/c4ee611d69893fec43b903eb88a444530eaf8e7f/68747470733a2f2f7777772e656173796e766573742e636f6d2e62722f66617669636f6e2e69636f) 2 | 3 | # Teste de Android Developer Easynvest 4 | Este teste é apresentado aos candidatos as vagas de Android Developer para avaliar os quesitos técnicos. 5 | 6 | ### O Desafio 7 | 8 | Seu objetivo é criar um app com duas telas, uma que exibe um formulário e outra que exibe o resultado de uma API. 9 | 10 | ### Telas 11 | 12 | ![input](./images/input.png) 13 | ![result](./images/result.png) 14 | 15 | Para o desenho das telas, não precisa se preocupar com a interface na horizontal; 16 | 17 | ## Consumindo o serviço de cálculo 18 | A API que calcula o os valores futuros se encontram em [outro projeto Open Source, aqui](https://github.com/easynvest/api-simulator-calc). Abaixo segue algumas informações sobre como utilizamos esse serviço no nosso simulador. 19 | 20 | - **URL**: https://run.mocky.io/v3/ecfaebf5-782b-4b24-ae4f-23b5c3a861da 21 | - **Method**: GET 22 | - **URL Params**: 23 | ```javascript 24 | investedAmount = 32323.0 // Valor a investir em reais 25 | index = "CDI" // Índice, por enquanto só CDI disponível 26 | rate = 123 // Percentual do papel 27 | isTaxFree = false // Isento de IR, por enquanto só falso 28 | maturityDate = "2023-03-03" // Data do vencimento, no formato ano-mes-dia 29 | 30 | ``` 31 | - **Response** 32 | ```javascript 33 | { 34 | "investmentParameter": { 35 | "investedAmount": 32323.0, // O valor a ser investido 36 | "yearlyInterestRate": 9.5512, // Rentabilidade anual 37 | "maturityTotalDays": 1981, // Dias corridos 38 | "maturityBusinessDays": 1409, // Dias úteis 39 | "maturityDate": "2023-03-03T00:00:00", // Data de vencimento 40 | "rate": 123.0, // Percentual do papel 41 | "isTaxFree": false // Isento de IR 42 | }, 43 | "grossAmount": 60528.20, // Valor bruto do investimento 44 | "taxesAmount": 4230.78, // Valor do IR 45 | "netAmount": 56297.42, // Valor líquido 46 | "grossAmountProfit": 28205.20, // Rentabilidade bruta 47 | "netAmountProfit": 23974.42, // Rentabilidade líquida 48 | "annualGrossRateProfit": 87.26, // Rentabilidade bruta anual 49 | "monthlyGrossRateProfit": 0.76, // Rentabilidade bruta mensal 50 | "dailyGrossRateProfit": 0.000445330025305748, // Rentabilidade bruta diária 51 | "taxesRate": 15.0, // Faixa do IR (%) 52 | "rateProfit": 9.5512, // Rentabilidade no período 53 | "annualNetRateProfit": 74.17 // Rentabilidade líquida anual 54 | } 55 | ``` 56 | 57 | ### Pré-requisitos: 58 | - Versão mínima do SDK: 16 59 | - Tela deve ajustar em devices menores. 60 | 61 | ### Plus: 62 | - Utilizar Kotlin; 63 | - Construir layouts com Constraints. 64 | 65 | ### O que esperamos: 66 | - Testes, no mínimo testes unitários; 67 | - Padrão de Projeto e boas práticas de Orientação a Objetos. 68 | 69 | 70 | -------------------------------------------------------------------------------- /images/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easynvest/teste-android/f5e0fdf953633611832978e4aabc5cb335d4a74b/images/input.png -------------------------------------------------------------------------------- /images/result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easynvest/teste-android/f5e0fdf953633611832978e4aabc5cb335d4a74b/images/result.png --------------------------------------------------------------------------------