CP II - Java Advanced aplicado em 24/04/2024.
Java Advanced | |
---|---|
ALUNO: Ana Carolina Tavares RM552283 Sofia Sprocatti Silva RM99208 |
TURMA: 2TDSPJ |
PROFESSOR: Benefrancis do Nascimento | 24/04/2024 |
CP II | **** |
A Holding Benezinho está interessada em investir na abertura de concessionárias de motos premium no Brasil em 2024. Este investimento pode oferecer diversas vantagens para um empresário, especialmente considerando o contexto econômico e social do país. Entre as principais vantagens destacam-se:
-
Margens de lucro mais elevadas: Motos premium geralmente têm preços mais altos e, portanto, podem oferecer margens de lucro mais generosas em comparação com modelos mais básicos. Isso pode resultar em maiores retornos financeiros para a concessionária.
-
Público-alvo específico: Clientes interessados em motos premium geralmente têm maior poder aquisitivo e estão dispostos a pagar mais por qualidade, desempenho e exclusividade. Isso pode resultar em um público-alvo mais fiel e menos sensível a flutuações econômicas.
-
Prestígio da marca: Representar marcas premium pode conferir prestígio à concessionária e aumentar sua reputação no mercado. Isso pode atrair clientes em busca de uma experiência de compra diferenciada e associar a concessionária a valores de qualidade e sofisticação.
-
Menos concorrência direta: O mercado de motos premium pode ser menos saturado do que o mercado de motos de massa, o que significa que a concorrência direta pode ser menor. Isso pode permitir que a concessionária estabeleça uma posição mais forte no mercado e capture uma fatia maior do público-alvo.
-
Oportunidades de serviços adicionais: Clientes de motos premium muitas vezes procuram um atendimento ao cliente excepcional e serviços personalizados. Isso pode abrir oportunidades para a concessionária oferecer serviços adicionais, como personalização de motos, eventos exclusivos para proprietários e programas de fidelidade.
Com o objetivo de fazer este negócio dar certo, idealizamos o desenvolvimento de um Sistema de Gestão de veículos a serem comercializados pelas lojas da rede.
Criaremos, nesta aula, um Produto Mínimo Viável (PMV) de uma API Rest para um sistema para Sistema de Gestão de veículos a serem comercializados.
Nossa equipe de analistas desenvolveu o Diagrama de Classes abaixo, e a sua missão aqui é realizar o Mapeamento Objeto Relacional das classes de Entidade. Usaremos a JPA e o Hibernate como ferramentas de Mapeamento Objeto Relacional.
Na sprint atual, você foi incumbido de fazer:
-
O Mapeamento Objeto Relacional das primeiras classes envolvidas neste projeto de software;
-
A criação automatizada das tabelas no banco de dados Oracle;
-
A persistência de todos os dados, e;
-
A criação dos Seguintes Resources que devem implementar a ResourceDTO (foi fornecida):
-
VeiculoResource com as seguintes ROTAS e VERBOS:
- "localhost/veiculos" - GET by Example, POST
- "logalhost/veiculos/{id}" - GET
- "logalhost/veiculos/{id}/acessorios" - GET, POST
-
AcessorioResource com as seguintes ROTAS e VERBOS:
- "localhost/acessorios" - GET by Example, POST
- "logalhost/acessorios/{id}" - GET
-
LojaResource com as seguintes ROTAS e VERBOS:
- "localhost/lojas" - GET by Example, POST
- "logalhost/lojas/{id}" - GET
- "logalhost/lojas/{id}/veiculos" - GET, POST
-
TipoVeiculoResource com as seguintes ROTAS e VERBOS:
- "localhost/tipos" - GET by Example, POST
- "logalhost/tipos/{id}" - GET
-
CaracteristicaResource com as seguintes ROTAS e VERBOS:
- "localhost/caracteristicas" - GET by Example, POST
- "logalhost/caracteristicas/{id}" - GET
-
FabricanteResource com as seguintes ROTAS e VERBOS:
- "localhost/fabricantes" - GET by Example, POST
- "logalhost/fabricantes/{id}" - GET
-
-
A criação dos Seguintes Services que devem implementar a ServiceDTO (foi fornecida):
- AcessorioService
- CaracteristicaService
- FabricanteService
- LojaService
- TipoVeiculoService
- VeiculoService
-
A criação dos Seguintes DTOs (Objetos de Transferência de Dados) de Request e de Response:
- AcessorioRequest e AcessorioResponse
- CaracteristicaRequest e CaracteristicaResponse
- FabricanteRequest e FabricanteResponse
- TipoVeiculoRequest e TipoVeiculoResponse
- VeiculoRequest e VeiculoResponse
- AbstractRequest
Você deverá:
Fazer o fork do projeto do github.:
https://github.com/Benefrancis/spring-pj-cp-2.git
Caso o github esteja indisponível, você deverá pegar o projeto no diretório compartilhado.
Alterar o arquivo contido em documentacao/equipe.txt para incluir os RMs e nomes e turma do trio que fará esta atividade.
OBS: Será com base nos nomes contidos neste aquivo que eu irei atribuir a nota.
1.(0,5 Pontos) Na Veiculo e adicionar corretamente as anotações JPA.
Lembre-se que:
1. Existe relacionamento **Muitos para Um** entre **Veiculo** e **TipoVeiculo** no atributo tipo.
2. Existe relacionamento **Muitos para Muitos** entre **Veiculo** e **Acessorio** no atributo acessorios.
- (0,25 Ponto) Na Loja e adicionar corretamente as anotações JPA.
Lembre-se que:
1. Existe relacionamento **Muitos para Muitos** entre **Loja** e **Veiculo** a no atributo veiculosComercializados.
-
(0,25 Ponto) Na Acessorio e adicionar corretamente as anotações JPA.
-
(0,25 Ponto) Na classe TipoVeiculo e adicionar corretamente as anotações JPA. Lembrando-se que é necessário fazer a UK para garantir que não se tenha mais de um Tipo de veículo com o mesmo nome.
-
(0,5 Ponto) Na Caracteristica e adicionar corretamente as anotações JPA. Lembrando-se que é necessário fazer a UK para garantir que não se tenha mais de uma caracteristica com o mesmo nome para um memso veículo.
-
(0,25 Ponto) Na Fabricante e adicionar corretamente as anotações JPA.
-
(1,5 Ponto) A criação dos Seguintes Services que devem implementar a ServiceDTO (foi fornecida):
- (0,25 Ponto) - AcessorioService
- (0,25 Ponto) - CaracteristicaService
- (0,25 Ponto) - FabricanteService
- (0,25 Ponto) - LojaService
- (0,25 Ponto) - TipoVeiculoService
- (0,25 Ponto) - VeiculoService
-
(4,5 Ponto) A perfeita criação dos Seguintes Resources no pacote resources:
-
(1,25 Pontos) VeiculoResource com as seguintes ROTAS e VERBOS:
- "localhost/veiculos" - GET by Example;
- "localhost/veiculos" - POST
- "logalhost/veiculos/{id}" - GET
- "logalhost/veiculos/{id}/acessorios" - GET;
- "logalhost/veiculos/{id}/acessorios" - POST
-
(0,5 Ponto) AcessorioResource com as seguintes ROTAS e VERBOS:
- "localhost/acessorio" - GET by Example;
- "localhost/acessorio" - POST
- "logalhost/acessorio/{id}" - GET
-
(1,25 Pontos) LojaResource com as seguintes ROTAS e VERBOS:
- "localhost/loja" - GET by Example;
- "localhost/loja" - POST
- "logalhost/loja/{id}" - GET
- "logalhost/loja/{id}/veiculos" - GET;
- "logalhost/loja/{id}/veiculos" - POST
-
(0,5 Ponto) TipoVeiculoResource com as seguintes ROTAS e VERBOS:
- "localhost/tipo-de-veiculo" - GET by Example;
- "localhost/tipo-de-veiculo" - POST;
- "logalhost/tipo-de-veiculo/{id}" - GET
-
(0,5 Ponto) FabricanteResource com as seguintes ROTAS e VERBOS:
- "localhost/fabricantes" - GET by Example;
- "localhost/fabricantes" - POST
- "logalhost/fabricantes/{id}" - GET
-
(0,5 Ponto) CaracteristicaResource com as seguintes ROTAS e VERBOS:
- "localhost/caracteristicas" - GET by Example,
- "localhost/caracteristicas" - POST
- "logalhost/caracteristicas/{id}" - GET
-
-
(2 PONTOS) - Execução dos Testes com o POSTMAN: A dupla deverá criar e executar os testes no POSTMAN para todos os endpoints da aplicação, exportar os testes e colocar na pasta documentação/requisições.
A entrega deverá ser feita pelo Teams, você deverá postar o arquivo compactado do projeto. Porém não se esqueça de fazer o commit e push do projeto no github.
ATENÇÃO Não será aceito para correção o link para o projeto no github. O aluno que entregar apenas o link receberá nota * ZERO*
Nos próximos dias, a correção da prova será disponibilizada no github do professor (branch correcao):
Para acessar digite no prompt:
git clone https://github.com/Benefrancis/spring-pj-cp-2.git && cd spring-pj-cp-2 && git checkout correcao
A avaliação é em trio ( devido a grande quantidade de coisas para fazer Desenvolvimento, ORM, Testes e Documentação).
Não copie, não forneça e nem aceite o código de outro aluno. O professor acessará o log do github e outras fontes para ver se a avaliação foi fraudada. Caso o arquivo compactado não tenha o log igual ao do github, a dupla receberá nota ZERO Em caso de fraude de qualquer tipo à atividade avaliativa, todos os envolvidos receberão nota ZERO
Boa avaliação.