Code Monkey home page Code Monkey logo

teste-ios's Introduction

Easynvest

Teste de iOS Developer Easynvest

Este teste é apresentado aos candidatos as vagas de iOS Developer para avaliar os quesitos técnicos.

O Desafio

Seu objetivo é criar um app com duas telas, uma que exibe um formulário e outra que exibe o resultado de uma API.

Telas

input result

Para o desenho das telas, não precisa se preocupar com a interface na horizontal;

Consumindo o serviço de cálculo

A API que calcula o os valores futuros se encontram em outro projeto Open Source, aqui. Abaixo segue algumas informações sobre como utilizamos esse serviço no nosso simulador.

  • URL: https://run.mocky.io/v3/ecfaebf5-782b-4b24-ae4f-23b5c3a861da
  • Method: GET
  • URL Params:
        investedAmount = 32323.0                 // Valor a investir em reais
        index = "CDI"                            // Índice, por enquanto só CDI disponível
        rate = 123                               // Percentual do papel
        isTaxFree = false                        // Isento de IR, por enquanto só falso
        maturityDate = "2023-03-03"              // Data do vencimento, no formato ano-mes-dia
  • Response
    {
        "investmentParameter": {
            "investedAmount": 32323.0,                      // O valor a ser investido
            "yearlyInterestRate": 9.5512,                   // Rentabilidade anual
            "maturityTotalDays": 1981,                      // Dias corridos
            "maturityBusinessDays": 1409,                   // Dias úteis
            "maturityDate": "2023-03-03T00:00:00",          // Data de vencimento
            "rate": 123.0,                                  // Percentual do papel
            "isTaxFree": false                              // Isento de IR
        },
        "grossAmount": 60528.20,                            // Valor bruto do investimento
        "taxesAmount": 4230.78,                             // Valor do IR
        "netAmount": 56297.42,                              // Valor líquido
        "grossAmountProfit": 28205.20,                      // Rentabilidade bruta
        "netAmountProfit": 23974.42,                        // Rentabilidade líquida
        "annualGrossRateProfit": 87.26,                     // Rentabilidade bruta anual
        "monthlyGrossRateProfit": 0.76,                     // Rentabilidade bruta mensal
        "dailyGrossRateProfit": 0.000445330025305748,       // Rentabilidade bruta diária
        "taxesRate": 15.0,                                  // Faixa do IR (%)
        "rateProfit": 9.5512,                               // Rentabilidade no período
        "annualNetRateProfit": 74.17                        // Rentabilidade líquida anual
    }

Pré-requisitos:

  • Swift;
  • Target iOS 11;
  • Utilizar autolayout;
  • Usamos SwiftLint aqui (https://github.com/realm/SwiftLint) e gostaríamos que seu código seguisse o mesmo padrão que a gente :) As regras estão no ./linter/.swiftlint.yml;

Plus:

  • Dynamic Type;
  • Acessibilidade;
  • NSURLSession + Codable;

O que esperamos:

  • Testes, no mínimo testes unitários;
  • Padrão de Projeto e boas práticas de Orientação a Objetos;

teste-ios's People

Contributors

vappolinario avatar luizfbs avatar palbuquerque25 avatar leovalentim avatar lucascyp avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.