WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

feliperius/TesteiOSv2

 
 

Repository files navigation

DESAFIO Satander IBM - Felipe Perius

Objetivo do projeto é testar os conhecimentos do canditado sobre a estrutura Clean e consumo assíncrono de APIs, testes unitarios e habilidades para construção de aplicativos para plataforma iOS .

Começando

Estas instruções irão levá-lo a uma cópia do projeto em funcionamento em sua máquina local para fins de desenvolvimento e teste.

Pré-requisitos

O que você precisa para construir, executar e testar o aplicativo: Xcode 9.0 ou posterior. O Deployment target está configurando pra suporta iOS 9.0 ou posterior.

Faça o clone do repositório em sua máquina local.

Depois será necessario a instalação das dependências com o comando:

$ pod install

Em seguida, abra o projeto no Xcode: open TesteiOSv2.xcworkspace Agora você está pronto para começar.

Uso de dependências

Nesse projeto utilizei 4 dependecias utilizando cocoaPods:

  • Utilizei o Alamofire para facilitar as requisições com API .

  • KeychainSwift para salva com segurança os dados do usuario.

  • RxSwift para fazer o parse dos models do JSON e comecei usando codable mas resolvi usar ObjectMapper mesmo.

  • ObjectMapper para fazer as requisições na camada de serviço com programção reativa.

# Observações gerais

O projeto possui testes unitários e teste de UI . Foi feita a internacionalização para Português e inglês mas só na mensagens de erro pois objetivo é demonstrar conhecimento. Foi utilizado progamação reativa também no projeto com RxSwift.

Autor

  • Felipe Augusto Pimentel Perius

Show me the code

Esse repositório contem todo o material necessário para realizar o teste:

  • A especificação do layout está na pasta 'bank_app_layout' abrindo o index.html, os icones estão na pasta 'assets'

  • Os dados da Api estão mockados, os exemplos e a especificação dos serviços (login e statements) se encontram no arquivo BankApp.postman_collection.json ( é necessário instalar o postman e importar a colection https://www.getpostman.com/apps)

Image of Yaktocat

# DESAFIO:

Na primeira tela teremos um formulario de login, o campo user deve aceitar email ou cpf, o campo password deve validar se a senha tem pelo menos uma letra maiuscula, um caracter especial e um caracter alfanumérico. Apos a validação, realizar o login no endpoint https://bank-app-test.herokuapp.com/api/login e exibir os dados de retorno na próxima tela. O ultimo usuário logado deve ser salvo de forma segura localmente, e exibido na tela de login se houver algum salvo.

Na segunda tela será exibido os dados formatados do retorno do login e será necessário fazer um segundo request para obter os lançamentos do usuário, no endpoint https://bank-app-test.herokuapp.com/api/statements/{idUser} que retornará uma lista de lançamentos

# Avaliação

Você será avaliado pela usabilidade, por respeitar o design e pela arquitetura do app. É esperado que você consiga explicar as decisões que tomou durante o desenvolvimento através de commits.

Obrigatórios:

# Observações gerais

Adicione um arquivo README.md com os procedimentos para executar o projeto. Pedimos que trabalhe sozinho e não divulgue o resultado na internet.

Faça um fork desse desse repositório em seu Github e ao finalizar nos envie um Pull Request com o resultado, por favor informe por qual empresa você esta se candidatando.

Importante: não há prazo de entrega, faça com qualidade!

BOA SORTE!

About

Teste para candidatos vaga de desenvolver iOS v2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 75.7%
  • Swift 24.1%
  • Ruby 0.2%