Skip to content

Instantly share code, notes, and snippets.

@cmilfont
Created December 10, 2014 17:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cmilfont/37fd349de64117926f7e to your computer and use it in GitHub Desktop.
Save cmilfont/37fd349de64117926f7e to your computer and use it in GitHub Desktop.
Desafio Greenmile CEJS 2014
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