Desafio Técnico

Leia atentamente as instruções abaixo

Objetivo

Criar um projeto utilizando as boas práticas de mercado e apresentar o mesmo demonstrando o passo a passo de sua criação (base de dados, tecnologias, aplicação, metodologias, frameworks, etc).

Projeto

O projeto consiste em um cadastro de livros.

No final deste documento foi disponibilizado um modelo dos dados.

Tecnologia

A tecnologia a ser utilizada é sempre Web e referente à vaga em que está concorrendo. A implementação do projeto ficará por sua total responsabilidade assim como os componentes a serem utilizados (relatórios, camada de persistência, etc) com algumas premissas:

  • O banco de dados é o de sua preferência.
  • A utilização de camada de persistência também é escolha sua.
Instruções
  • Deve ser feito CRUD para Livro, Autor e Assunto conforme o modelo de dados.
  • A tela inicial pode ter um menu simples ou mesmo links direto para as telas construídas.
  • O modelo do banco deve ser seguido integralmente, salvo para ajustes de melhoria de performance.
  • A interface pode ser simples, mas precisa utilizar algum CSS que comande no mínimo a cor e tamanho dos componentes em tela (utilização do Bootstrap será um diferencial).
  • Os campos que pedem formatação devem possuir o mesmo (data, moeda, etc).
  • Deve ser feito obrigatoriamente um relatório (utilizando o componente de relatórios de sua preferência (Crystal, ReportViewer, etc)) e a consulta desse relatório deve ser proveniente de uma view criada no banco de dados.
  • O relatório pode ser simples, mas permita o entendimento dos dados. O relatório deve trazer as informações das 3 tabelas principais agrupando os dados por autor (atenção pois um livro pode ter mais de um autor).
  • TDD (Test Driven Development) será considerado um diferencial.
  • Tratamento de erros é essencial. Evite try/catchs genéricos em situações que permitam utilização de tratamentos específicos, como os possíveis erros de banco de dados.
  • As mensagens emitidas pelo sistema, labels e etc. ficam a seu critério.
  • O modelo inicial não prevê, mas é necessário incluir um campo de valor (R$) para o livro.
  • Guarde todos os scripts e instruções para implantação de seu projeto, eles devem ser demonstrados na apresentação.
Apresentação

O teste deve ser apresentado na entrevista técnica que será agendada. A ideia é discutir seu projeto, avaliar o mesmo funcionalmente e tecnicamente.

Modelo

Veja abaixo a imagem do modelo de dados enviado no desafio:

Modelo do banco de dados