Skip to content

Instantly share code, notes, and snippets.

@lucmarcio
Forked from pedropuppim/teste_athenas.md
Last active July 31, 2023 13:27
Show Gist options
  • Save lucmarcio/b5d67c48391f04876fa0d3103db80dec to your computer and use it in GitHub Desktop.
Save lucmarcio/b5d67c48391f04876fa0d3103db80dec to your computer and use it in GitHub Desktop.
Teste Athenas Online


O desafio é criar um crud simples (criar, recuperar, listar e remover) em PHP e que salve os dados no banco de dados (Firebird, MySQL, Mongo, PostgreSQL, sqLite) através de uma API REST. Imprescindível separar a camada visual da camada de API em Actions ou Controllers diferentes.

Tabela Pessoas

Codigo Nome CPF E-mail Categoria Classificação
1 Jorge da Silva 111.111.111-11 jorge@terra.com.br 1 Ouro
2 Flavia Monteiro 111.111.111-11 flavia@globo.com 2 Ouro
3 Marcos Frota Ribeiro 111.111.111-11 ribeiro@gmail.com 2 Ouro
4 Raphael Souza Santos 111.111.111-11 rsantos@gmail.com 1 Ouro
5 Pedro Paulo Mota 111.111.111-11 ppmota@gmail.com 1 Ouro
6 Winder Carvalho da Silva 111.111.111-11 winder@hotmail.com 3 Prata
7 Maria da Penha Albuquerque 111.111.111-11 mpa@hotmail.com 3 Prata
8 Rafael Garcia Souza 111.111.111-11 rgsouza@hotmail.com 3 Prata
9 Tabata Costa 111.111.111-11 tabata_costa@gmail.com 2 Ouro
10 Ronil Camarote 111.111.111-11 camarote@terra.com.br 1 Ouro
11 Joaquim Barbosa 111.111.111-11 barbosa@globo.com 1 Ouro
12 Eveline Maria Alcantra 111.111.111-11 ev_alcantra@gmail.com 2 Ouro
13 João Paulo Vieira 111.111.111-11 jpvieria@gmail.com 1 Ouro
14 Carla Zamborlini 111.111.111-11 zamborlini@terra.com.br 3 Prata

Tabela Categoria

Codigo Nome
1 Admin
2 Gerente
3 Normal

Backend: Você pode ou não utilizar um framework PHP.

Frontend: Pode ser de sua prefência: jquery, react, vueJS... ou até mesmo em html puro realizando os requests direto php.

  • Validar os campos obrigatórios para edição e inclusão: Código, Nome
  • Categoria pardão = 3
  • Mascarar o campo CPF para digitação de dados;
  • o campo classificação não deve ser armazenado em tabela, porém, deve ser apresentado em interface com a seguinte regra: -- para valores de categooria 1 ou 2, deve-se apresentar Ouro -- para valor de categoria 3, deve-se apresentar Prata

Requisitos:

  • Faça paginação no grid de listagem inicial de 5 elementos; Pode usar JGrid, PrimeVue, qualquer outro.
  • Crie os seeders para popular as tabelas sugeridas acima;
  • Publicar em um repositório github;
  • Criar um README.md com instruções;

O objetivo do teste é avaliar a forma e organização como o problema será resolvido.

Diferenciais opcionais

  • VueJS2 ou VueJS3;
  • Testes unitários da API RestFull usando phpUnit, Pest, Codeception;
  • Utilize Docker; Publicar no DockerHub.
  • Utilizar Firebird;

Ao finalizar o teste envie a url do repositório para: team@werecruiter.tech

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment