Challenge for PHP Developer
Desenvolva uma solução para o problema abaixo:
Baseado no conceito S.P.A. (Single Page Application), construa uma página para cadastro das seguintes informações:
- Dados do cliente: CPF (identificador do cliente no sistema), Senha, Nome, Telefone, E-mail, Data de Nascimento
- Endereço do cliente: CEP, Logradouro, Número, Complemento, Bairro, Cidade, Estado
- Dados pessoais e profissionais do cliente: RG, Número, Data Expedição, Órgão Expedidor, Estado Civil, Categoria (Empregado, Empregador, Autônomo, Outros), Empresa em que trabalha (opcional), Profissão, Renda Bruta
Para ajudar nosso usuário, no momento que ele terminar o digitar o CEP, preencha os campos do formulário utilizando uma API. Aqui vai algumas sugestões de API's disponíveis para serem usadas:
- http://postmon.com.br/
- http://cep.correiocontrol.com.br/XXXXXXXX.json
- http://www.buscacep.correios.com.br/servicos/dnec/consultaLogradouroAction.do (http://www.buscacep.correios.com.br/sistemas/buscacep/)
Requisitos
- Utilize PHP (> 5.3) e MySQL como tecnologias
- Para popular o banco, versionar arquivo (.mwb), script com as querys ou dump do banco. (deve ficar na raiz do projeto)
Preferências
- Uso de um Framework (MVC)
- Uso de Design Patterns
Plus
- Teste unitário (ex. TDD)
- Documentação em UML (Diagrama de classe, Diagrama de casos de uso, Diagrama de sequência, etc.). Obs: Versionar na raiz do projeto versão de apresentação em PDF.
Como vou rodar o projeto
- git clone seu-fork
- rodar o script para banco na raiz do projeto
O que será avaliado
- Domínio da linguagem PHP
- Domínio do uso de Webservices
- Organização do código
- Raciocínio para construir a solução solicitada