Nosso time atua com tecnologia em e-mail marketing há mais de 10 anos, desenvolvendo produtos e serviços para nossos clientes baseando-se em nossos valores essenciais, que são Excelência, Felicidade e Aprendizado.
Para fortalecer ainda mais nosso negócio e atendimento ao cliente, buscamos um Desenvolvedor para ajudar no desenvolvimento de plataforma própria, com muito back-end em PHP e também criação de interfaces no front-end.
Ele fará parte do Departamento de Produtos focado em Tecnologia, além de ter a oportunidade de participar do desenvolvimento de novos produtos que estamos lançando, sempre utilizando PHP.
Em um ambiente jovem, acolhedor e totalmente conectado a essa geração, queremos pessoas inquietas, que buscam aprender (e muito) novas tecnologias e aplicá-las ao nosso negócio!
- Para realizar esse teste, não é permitido a utilização de frameworks nem bibliotecas PHP de qualquer tipo;
- Nos itens de JavaScript, você pode utilizar uma biblioteca (como jQuery) para te auxiliar nas requisições AJAX e na manipulação do DOM, por exemplo, mas você deve fazer o trabalho pesado;
- A realização do Item Livre é obrigatória.
1. Introdução
- Antes de começar o desenvolvimento, leia todas as etapas do processo para evitar retrabalho
-
Você deve criar um sistema básico para manuseio de contatos: relatório, criação, edição e exclusão
- Cada contato possui um nome e pode ter 0, 1 ou mais email(s) e telefone(s)
- Cada email possui um tipo: pessoal ou trabalho
- Cada telefone possui um tipo: celular, residencial ou trabalho
- Além da funcionalidade do sistema, iremos avaliar também a legibilidade dos códigos
- Ressaltando: para os códigos PHP, é proibido utilizar classes e bibliotecas prontas
2. SQL
- Crie as tabelas necessárias para lidar com contatos e envie o SQL da criação.
-
Seu sistema deve ter, no mínimo, as seguintes tabelas:
- Contatos;
- Relacionamento entre contato e email;
- Tipos de email;
- Relacionamento entre contato e telefone;
- Tipos de telefone.
- Não se esqueça que contatos podem ter zero, um ou mais emails e telefones de cada tipo.
3. PHP
-
Utilize sempre o PDO com prepared statements para executar todas as queries de seu sistema
-
Utilize orientação a objetos e o design pattern MVC para implementar o sistema
4. HTML + CSS
-
Através de algum framework front-end (por exemplo, o Bootstrap), crie uma página para exibir de uma maneira agradável os dados retornados pelo seu código PHP
5. AJAX + JSON
-
Ao invés de exibir os dados do contato diretamente no HTML, faça uma requisição AJAX para retornar um JSON com os dados dos contatos
-
Para facilitar a requisição, você pode usar alguma biblioteca JavaScript, como por exemplo o jQuery
6. Cadastro
-
Crie um botão Cadastrar para criar um novo contato através de um modal
-
Lembrando mais uma vez: contatos podem ter 0, 1 ou mais emails e telefones de qualquer tipo
7. JavaScript
-
Para cada contato, exiba apenas seu ID e nome e crie um botão Visualizar que deve abrir um modal com os dados completos
do mesmo (todos os emails, telefones e seus respectivos tipos)
8. Paginação
-
Insira mais contatos na base e crie um sistema de paginação para o relatório
9. Busca
-
Crie um input de busca que irá realizar um AJAX buscando por todos os campos dos contatos: ID, nome, e-mail ou telefone.
10. Item livre
-
Exerça sua criatividade e implemente alguma funcionalidade nova nesse mini-sistema. Surpreenda-nos! (PS: esse item é obrigatório)
Para participar do processo seletivo, envie seu código em um arquivo compactado (.zip, .gz, .tar.gz)
para rh@mediapost.com.br com o assunto Vaga - Desenvolvedor PHP.