├── README.md
├── _config.yml
├── font.zip
├── telas.png
└── teste_app.sketch
/README.md:
--------------------------------------------------------------------------------
1 | # Show me the code
2 |
3 | ### # DESAFIO:
4 |
5 | Em uma tela terá um formulário dinâmico com alguns campos predefinidos, conforme o arquivo JSON disponível no link ([https://floating-mountain-50292.herokuapp.com/cells.json](https://floating-mountain-50292.herokuapp.com/cells.json)) que deverá
6 | ser consumido. Este formulário terá de ser desenhado e exibir uma tela de sucesso quando as informações preenchidas estiverem corretas.
7 |
8 | Na segunda tela terá o detalhe de um ativo financeiro. As informações devem ser consumidas através do link ([https://floating-mountain-50292.herokuapp.com/fund.json](https://floating-mountain-50292.herokuapp.com/fund.json)).
9 |
10 | O visual do aplicativo está em anexo no arquivo telas.png e em um arquivo do [Sketch](https://www.sketchapp.com) (30 dias grátis, caso não tenha a licença).
11 |
12 | 
13 |
14 |
15 | ### # Avaliação
16 |
17 | 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.
18 |
19 | * Swift 3.0 ou superior
20 | * Autolayout
21 | * O app deve funcionar no iOS 9
22 | * Testes unitários (De preferência XCTest). Mas pode usar o que você tem mais experiência, só nos explique o que ele tem de bom.
23 | * Arquitetura a ser utilizada: Swift Clean ([https://clean-swift.com/handbook/](https://clean-swift.com/handbook/) && [https://github.com/Clean-Swift/CleanStore](https://github.com/Clean-Swift/CleanStore) && [https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html](https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html)).
24 | * Uso do git.
25 |
26 | ### # Dicas para o layout
27 |
28 | * O formulário deve respeitar o conteúdo do cells.json ([https://floating-mountain-50292.herokuapp.com/cells.json](https://floating-mountain-50292.herokuapp.com/cells.json)) .
29 | * Se o texto estiver muito grande, quebre em linhas e exiba por completo.
30 | * O sketch está na proporção do iPhone 6, para iPhones menores/maiores é indicado que os espaçamentos se adaptem proporcionalmente.
31 | * Na tela Fundos, o botão baixar irá abrir um SafariViewController no [google.com](http://google.com).
32 | * A fonte a ser utilizada está em anexo no repositório.
33 |
34 | ### # Como interpretar o cells.json:
35 |
36 | ```Swift
37 | Enum Type {
38 | case field = 1,
39 | case text = 2,
40 | case image = 3,
41 | case checkbox = 4,
42 | case send = 5
43 | }
44 | ```
45 |
46 | ```Swift
47 | Enum TypeField {
48 | case text = 1,
49 | case telNumber = 2,
50 | case email = 3
51 | }
52 | ```
53 |
54 | `"type":` tipo da célula;
55 |
56 | `"message":` mensagem que vai aparecer na label para type = text ou placeholder para field;
57 |
58 | `typeField":` tipo do field a ser exibido, para exibir corretamente a validação daquele campo.
59 |
60 | `hidden":` indica se o campo está visível;
61 |
62 | `topSpacing":` espaçamento entre o topo da célula e o topo da label/field/ checkbox;
63 |
64 | `show":` indica o campo que será exibido quando este campo for selecionado. No caso é o id do campo a ser exibido.
65 |
66 | `type":` "send" esse botão irá validar todas informações que foram preenchidas e ir para a tela de sucesso quando tudo tiver ok;
67 |
68 | `risk":` pode ser um int de 1 a 5
69 |
70 | O tipo `text` a validação é digitou alguma coisa, já ficou válido.
71 | Para "telNumber" o campo deve ser formatado `(##) ####-#### || (##) #####-####` e validado de acordo.
72 | Para "email" o email deve ser válido.
73 |
74 | ### # Observações gerais
75 |
76 | Adicione um arquivo [README.md](http://README.md) com os procedimentos para executar o projeto.
77 | Pedimos que trabalhe sozinho e não divulgue o resultado na internet.
78 |
79 | Faça um fork desse desse repositório em seu Github e nos envie um Pull Request com o resultado, por favor informe por qual empresa você esta se candidatando.
80 |
81 | ### # Importante: não há prazo de entrega, faça com qualidade!
82 |
83 | # BOA SORTE!
84 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-minimal
--------------------------------------------------------------------------------
/font.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InterviewTests/TesteiOS/e32711e64809dae44400e3545bbab6821509ce26/font.zip
--------------------------------------------------------------------------------
/telas.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InterviewTests/TesteiOS/e32711e64809dae44400e3545bbab6821509ce26/telas.png
--------------------------------------------------------------------------------
/teste_app.sketch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InterviewTests/TesteiOS/e32711e64809dae44400e3545bbab6821509ce26/teste_app.sketch
--------------------------------------------------------------------------------