Avaliação desenvelvedor PHP Pleno/Sênior para ser feita remotamente.
João solicitou o desenvolvimento de um sistema para gerenciar sua biblioteca. Na analise de requisitos, João informou que possui alguns tipos de materiais no qual ele deseja cadastrar no novo sistema. Todos tipos de materiais que joão possui na biblioteca dele tem informações que são comuns a todos, como: título, subtítulo, imagem de capa e autores. No entanto, para cada tipo de material existem informações que são especificas a cada um deles.
O candidato deverá desenvolver um CRUD de autores e dos materiais livro e dicionário, porém o sistema deve ser flexível para que seja adicionado novos materiais sem a necessidade de alterar os CRUDS dos materiais já existentes.
Autor:
- Nome: Texto (Obrigatório e no mínimo 3 caracteres)
- Notação de autor: Texto (Obrigatório) 3 caracteres que representa as 3 primeiras letras do nome em caixa alta(Maíusculo), caso o usuário não informe, o sistema deverá gerar automaticamente.
Livro:
- Título: Texto (Obrigatório)
- Subtítulo: Texto (Opcional)
- Imagem de capa: Arquivo de imagem do tipo jpg ou png (Opcional)
- Autores: Um ou mais autores (Obrigatório ao menos um autor)
- ISBN: Campo de texto (Obrigatório)
- Número de páginas: Campo númerico (Obrigatório)
- Resumo: Texto (Opcional)
Dicionário:
- Título: Texto (Obrigatório)
- Subtítulo: Texto (Opcional)
- Imagem de capa: Arquivo de imagem do tipo jpg ou png (Opcional)
- Autores: Um ou mais autores (Obrigatório ao menos um autor)
- Edição: Texto (Obrigatório)
- Classificação: Texto (Opcional)
- Fazer uso de frameworks.
- Usar Gerenciador de dependências.
- Utilizar testes automatizados.
- Utilizar recursos mais atuais, como: HTML5, Php>=5.6, CSS3.
- Fazer uso de javascript.
- Boas prática de desenvolvimento.
- Organização clara do código, boa nomenclatura de variáveis, métodos e etc.
- Preocupar com performance.
- Caso faça uso de ferramentas de terceiros, utilizar algum gerenciador de dependência.
- Para iniciar o teste, faça um fork deste repositório na sua conta do github.
- Crie uma branch com seu nome e desenvolva nele.
- Após conclusão do teste, envie-nos o pull request.
- Envie um e-mail com a url do respectivo pull request.
Boa sorte!