Baseado no conceito S.P.A. (Single Page Application), construa uma aplicação escolhendo uma das opções abaixo:
- 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.
- Enviar um email para o cliente após o cadastro.
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: PostMon | Cep | BuscaCep
- Cria um cadastro de produtos com : Nome, data de fabicação, tamanho, largura, peso e categoria.
- O produto pode ter uma ou mais categorias.
- Criar um filtro que traga os produtos pelo campos que foram pedidos no item um e ter um sort por colunas.
- Criar uma API com controle de acesso OAuth2.
- Criar um cadastro de clientes de acesso a API.
- Criar recursos com diferentes níveis de acesso autenticado.
- Utilize *PHP >= 7. ** e MySQL como tecnologias
- Uso de um Framework (MVC/MVVM)
- RestFull
- Todos os anteriores
- Teste unitário (ex. TDD)
- Uso de Design Patterns
Diferencial
- SOLID
- Domínio da linguagem PHP
- Domínio do uso de Webservices
- Organização do código
- Raciocínio para construir a solução solicitada
O teste tem que ser feito em 3 dias após o fork.
Seria muito legal você mostrar suas 'skills' com tecnologias de front-end como:
- Algum framework Javascript (Angular, React, Vue.js e etc…)
- Pré-Processadores (sass, less e etc...)
- Task Runner (webpack, gulp, grunt e etc...)
- ES6/7