Skip to content

Commit 0687eef

Browse files
authored
Merge pull request #1 from lfap/dev
Dev
2 parents e32711e + c495649 commit 0687eef

File tree

127 files changed

+11349
-77
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+11349
-77
lines changed

.gitignore

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
### macOS ###
2+
# General
3+
.DS_Store
4+
5+
6+
#Xcode
7+
#
8+
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
9+
10+
## Build generated
11+
build/
12+
DerivedData/
13+
14+
## Various settings
15+
*.pbxuser
16+
!default.pbxuser
17+
*.mode1v3
18+
!default.mode1v3
19+
*.mode2v3
20+
!default.mode2v3
21+
*.perspectivev3
22+
!default.perspectivev3
23+
xcuserdata/
24+
.DS_Store
25+
26+
## Other
27+
*.moved-aside
28+
*.xccheckout
29+
*.xcscmblueprint
30+
31+
## Obj-C/Swift specific
32+
*.hmap
33+
*.ipa
34+
*.dSYM.zip
35+
*.dSYM
36+
37+
## Playgrounds
38+
timeline.xctimeline
39+
playground.xcworkspace
40+
41+
# Swift Package Manager
42+
#
43+
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
44+
# Packages/
45+
# Package.pins
46+
.build/
47+
48+
# CocoaPods
49+
#
50+
# We recommend against adding the Pods directory to your .gitignore. However
51+
# you should judge for yourself, the pros and cons are mentioned at:
52+
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
53+
#
54+
# Pods/
55+
56+
# Carthage
57+
#
58+
# Add this line if you want to avoid checking in source code from Carthage dependencies.
59+
# Carthage/Checkouts
60+
61+
Carthage/Build
62+
63+
# fastlane
64+
#
65+
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
66+
# screenshots whenever they are needed.
67+
# For more information about the recommended setup visit:
68+
# https://docs.fastlane.tools/best-practices/source-control/#source-control
69+
70+
fastlane/report.xml
71+
fastlane/Preview.html
72+
fastlane/screenshots
73+
fastlane/test_output

README.md

Lines changed: 15 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,83 +1,22 @@
1-
# Show me the code
1+
# Santander Challenge
22

3-
### # DESAFIO:
3+
Link para o desafio: [https://github.com/SantanderTecnologia/TesteiOS](https://github.com/SantanderTecnologia/TesteiOS)
44

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.
5+
# Como começar
76

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)).
7+
1. Clone ou baixe o repositório
8+
2. Abra o arquivo `SantanderChallenge.xcodeproj`
9+
3. Execute a aplicação: `cmd + R`.
910

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+
## Environments
12+
Há dois ambientes configurados.
13+
- *Development*:
14+
No ambiente `Development` os dados serão recuperados do Bundle, ou seja, mock.
15+
- *Production*:
16+
No ambiente `Production` os dados serão buscados do servidor.
1117

12-
![Image](https://floating-mountain-50292.herokuapp.com/telas.png)
18+
Para alterar o ambiente escolha entre os schemas, ao lado do botão de parar a execução.
1319

20+
### Candidato pela: [Zup](https://www.zup.com.br/)
1421

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.<br>
71-
Para "telNumber" o campo deve ser formatado `(##) ####-#### || (##) #####-####` e validado de acordo.<br>
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!
22+
### Dúvidas / Sugestões: _[email protected]_

0 commit comments

Comments
 (0)