Criar uma aplicação Web com JSF para realizar operações de cadastramento. O tema da aplicação é livre, porém deve ser apresentado ao professor (para evitar temas problemáticos).<br /><br /><br />A ideia é criar uma pequena análise com pelo menos 5 classes de entidades (exemplo Produto) e que sejam relacionadas com outras 5 classes entidades classificadoras (exemplo Categoria). A aplicação deve ter uma tela inicial que apresente uma forma de navegar para cada um dos 10 cadastros (5 de classes entidades e 5 de classes entidade classificadoras), esse menu deve estar em uma página incluída utilizando os templates do Facelets e a página escolhida deve ser carregada na área principal da tela. No topo da tela deve haver uma página (também incluída via template) com o nome da aplicação.<br /><br /><br />A aplicação deve suportar internacionalização e todas as strings de nomes de campos, mensagens, nomes de botões, textos de links, títulos de páginas e quaisquer outros casos de strings devem estar disponíveis em português em um arquivo [login to view URL]<br /><br /><br />A aplicação utilizará EJB e JPA para acesso ao banco de dados JavaDB e deve utilizar a base jdbc/samples (pre configurada pelo Glassfish que acompanha o Netbeans). Outros bancos de dados podem ser usados dependendo do ambiente de desenvolvimento do aluno, porém, todo o acesso deve ser feito via EJB e JPA.<br /><br /><br />A aplicação deve utilizar CSS para organizar visualmente a apresentação e primefaces 5.2 como biblioteca de implementação de JSF.<br /><br /><br />A aplicação deve utilizar Validators para garantir que o usuário só insira valores válidos e deve utilizar tags message ao lado dos campos correspondentes para indicar em caso de problemas. (Conforme projeto NovosComponentesJSF)<br /><br /><br />A aplicação deve utilizar o modelo apresentado em sala de ter um formulário de entrada e na mesma tela um datatable com a listagem dos objetos cadastrados no banco de dados.<br /><br /><br />Itens Bônus (pontuação extra):<br /><br />- Fazer uma implementação onde o formulário de entrada é a primeira linha do datatable de listagem<br /><br />- Utilizar um campo de data com um calendário popup do primefaces<br /><br />- Utilizar a paginação de datatable<br /><br />- Utilizar a exportação para PDF e Excel<br /><br />- Fazer um gráfico pizza mostrando a quantidade de objetos de cada uma das classes entidade gravadas no banco<br /><br />- Fazer uma tela de pesquisa para uma das entidades que permita escolher um dado valor de classificação e alguns dos outros atributos. Exemplo: para livro, escolher a editora, depois a quantidade de páginas, um trecho do título, escolher o autor. E ao final realizar a pesquisa (esse item precisará de uma consulta personalizada na classe Façade correspondente, pode ser usado JPQL ou Criterio)<br />