Created
December 10, 2014 17:44
-
-
Save cmilfont/37fd349de64117926f7e to your computer and use it in GitHub Desktop.
Desafio Greenmile CEJS 2014
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Para esse desafio vamos partir de algumas premissas: | |
- Nosso sistema tem o back-end completamente desplugado do front-end e os | |
dois se relacionam por meio de serviços REST | |
- No front-end temos várias telas de cadastro | |
- Todas as definições das telas estÃo armazenadas no banco de dados e são | |
entregues ao front-end por um serviço que devolve um JSON que descreve como | |
o formulário deve ser montado. | |
Definição da API | |
Como obter o layout da tela | |
GET : screenLayouts/<screenName> | |
Exemplo | |
GET : screenLayouts/users | |
Como cadastrar novos usuário | |
POST : user | |
body : JSON com os dados do usuário | |
Retorna o layout da tela de usuários | |
{ | |
sections:[{ | |
description: 'Dados de autenticação', | |
fields: [{ | |
name: 'login', | |
mandatory: true, | |
type: 'text' | |
},{ | |
name: 'password', | |
mandatory: true, | |
type: 'password' | |
},{ | |
name: 'expirationDate', | |
mandatory: true, | |
type: 'date' | |
}] | |
},{ | |
description: 'Dados de contato', | |
fields: [{ | |
name: 'rua', | |
mandatory: false, | |
type: 'text' | |
},{ | |
name: 'complemento', | |
mandatory: false, | |
type: 'text' | |
},{ | |
name: 'bairro', | |
mandatory: false, | |
type: 'text' | |
},{ | |
name: 'telefone', | |
mandatory: false, | |
type: 'tel' | |
}] | |
}] | |
} | |
- Sua missão é criar um mini framework, que tenha como dependência no máximo | |
o jQuery, ma de preferência nenhuma, que solicite a tela de usuários, interprete o JSON | |
retornado e monte um HTML com ele, depois colete dos dados do formulário e submeta de | |
volta para o servidor. | |
- Não é preciso fazer nenhum serviço para receber esse post | |
- Códigos que não funcionem serão desconsiderados | |
- Serão analisados a aderência da implementação com a necessidade exposta e a | |
qualidade do código | |
Mozart Diniz | |
https://twitter.com/mozartdiniz |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment