Angjava

Terminado

Publicado: Hace 6 meses Plazo: 5 días Propuestas: 1 Freelancers interesados: 2

Abierto

Descripción:

DESENVOLVER EM 10 HORAS.

I.Desenvolver um projeto em Java web com JDBC como backend e
como frontend utilizar AngularJS com Bootstrap, de preferência com template Ubold padrão Left.
O projeto deve utilizar o padrão MVC, sem uso de hibernate para acesso ao
banco de dados. Apenas via JDBC.

Tenho esse template se necessitar.
Deve possui um menu, evidentemente, lateral e vertical.
O menu deve possuir duas opções: Cadastro e Outros.
A opção Cadastro deve possuir duas sub opções: Estoque e Grupos.
Quando o usuário selecionar a opção Estoque o sistema deve abrir
abrir uma janela de cadastro de estoque ao lado do menu, em uma janela no padrão desse template.
O mesmo deve acontecer com a opção Grupos, devendo abrir a janela de cadastro de grupos.

II.Janelas - Geral
Cada janela de cadastro deve possuir duas abas:Cadastro e Pesquisa.
Aba cadastro:
Para cada janela essa aba deve apresentar os campos para o cadastro correspondente.
Após a disposição dos campos, deve possuir os botões: Salvar e Cancelar.

Aba Pesquisa:
Para cada janela essa aba deve apresentar um select (Tipo de Pesquisa, titulo o select), uma caixa de
texto (Informe a Pesquisa, titulo dessa caixa de texto), uma tabela(com o título Itens Selecionados)
contendo colunas com os titulos dos dos campos a serem visualizados.
Além das colunas dos campos, a tabela deve possuir uma coluna para o botão Excluir,
e uma coluna para o botão Alterar.
*O título da tabela deve ficar acima da tabela.
Abaixo da tabela deve possuir o botão Limpar.
**Nas descrições abaixo os campos serão referenciados pelos seus títulos.

III.Janela de cadastro de estoque
Essa janela corresponde ao cadastro (CRUD) de itens de estoque, que deve referênciar
os dados da tabela estoque do banco de dados na plataforma MySQL.
* criar a tabela produtos com a estrutura: codigo(int,auto-increment, chave-pimária), descricao(varchar,30),
datacad (date), precounit (com duas casas decimais), grupo (chave estrangeira de grupo, int).
IIIa.Aba Cadastro:
apresentar um formulário para cadastro de produtos, com controle via angularJS e visual com detalhes
do bootstrap.
O cadastro deve apresentar: código, descrição, data de cadastro, preço unitário e grupo.
Sendo que:
Código: Não habilitado para edição (pois será vinculado ao auto-increment do banco)
Descrição: nome com no máximo 30 caracteres, sempre em maiúsculas (obrigatório)
Data de cadastro: deve ser selecionada por tipo de date-picker no formato dd/MM/yyyy. Deve
apresentar a data atual quando for inclusão.
Preço unitário: deve aceitar apenas número no formato moeda brasileira, não podendo ser nulo.
grupo: deve ser selecionado em um select populado através de uma tabela do banco de dados
sendo que está deve possuir um botão do seu lado para que possa abrir uma janela modal
do cadastro de grupos, sobre a janela de cadastro de estoque.
Após a atualização de grupos, atualizar o select de grupos do cadastro de estoque via ajax,
fechando a janela modal de grupos.
Quando usuário "clicar" na aba cadastro, o sistema deverá limpar todos os campos dessa aba (método
cancelarEstoque no front-end).
Quando o usuário "clicar" no botão Salvar o sistema deverá validar os dados e envia-los para
o servidor e limpar os campos da aba cadastro (utilizar métodos específicos no front-end).
Quando o usuário "clicar" no botão cancelar, o sistema deverá limpar todos os campos dessa aba (método
cancelarEstoque no front-end).
Caso algum campo do formulário esteja inválido, o sistema front-end deverá apresentar a mensagem corres-
pondente abaixo do último campo, destacando a borda do respectivo campo em vermelho. Isso deve ocorrer para os
demais campos,caso mais de um campo esteja inválido.
O front-end irá distinguir se é uma atualização( alteração ou exclusão) quando o código do item não for nulo.
Quando o código for nulo, o front-end irá detectar que a ação é uma inclusão.
O sistema deve validar uma descrição com, no mínimo, 3 caracteres.
***O Sistema não deve aceitar a inclusão de itens cadastrados com a mesma descrição. Neste caso, a alteração
também não deve ser efetuada quando isso ocorrer.
IIIb.Aba Pesquisa:
Quando essa aba for selecionada, o sistema deverá limpar todos os campos os elementos caixa de texto, select e*
tabela.
O select Tipo de Pesquisa deve apresentar as opções: Por código, Por Descrição, Por Grupo.
Quando a opção Por Código for escolhida, o front-end só deve permitir a inserção de digitos na caixa de
texto Informe a Pesquisa.
Quando a opção Por Descrição for escolhida, o front-end deve permitir ao usuário informar parte de uma descrição,
uma descrição completa ou até mesmo deixar a caixa de texto em branco. No evento ao sair da caixa de texto
Informe a Pesquisa.
Quando a opção Por Grupo for escolhida, o front-end deve permitir ao usuário informar o nome de um determinado grupo.
Ao sair da caixa de texto Informe a Pesquisa , o front-end deve preparar uma pesquisa ao back-end conforme a informação
digitada no campo Informe a Pesquisa. Receber os dados do back-end e "popular" a tabela Itens Selecionados em ordempara
alfabética.
Quando o usuário "clicar" no botão Excluir, o front-end deve preparar os dados da linha correspondente da tabela e
mostra-los na aba Cadastro, ativando essa aba para que o usuário possa visualiza os dados selecionados. Neste caso,
o front-end deve destacar uma mensagem (sempre oculta) acima do código do produto com o conteúdo "Excluir". Caso o
usuário confirme o botão Salvar, o sistema deverá excluir o item no banco de dados conforme o valor do código do produto.
Apresentar uma janela (modal) de diálogo informando que o item foi excluído com sucesso ou apresentando algum tipo de erro.
Limpar os dados da aba cadastro e também da aba de pesquisa.
Quando o usuário "clicar" no botão Alterar, o front-end deve preparar os dados da linha correspondente da tabela e
mostra-los na aba Cadastro, ativando essa aba para que o usuário possa visualiza os dados selecionados. Neste caso,
o front-end deve destacar uma mensagem (sempre oculta) acima do código do produto com o conteúdo "Alterar". Caso o
usuário confirme o botão Salvar, o sistema deverá atualizar os dados no banco de dados conforme o valor do código
do produto.Apresentar uma janela (modal) de diálogo informando que o item foi alterado com sucesso ou apresentando algum
tipo de erro. Limpar os dados da aba cadastro e também da aba de pesquisa.

IV.Janela de cadastro de grupo
Essa janela corresponde ao cadastro (CRUD) de itens de estoque, que deve referênciar
os dados da tabela grupo do banco de dados na plataforma MySQL.
* criar a tabela grupo com a estrutura: id(int,auto-increment, chave primária), descricao(varchar,30)
O funcionamento dessa janela segue o mesmo padrão do funcionamento do cadastro de produtos, exceto em relação
ao select Tipo de Pesquisa que deve possuir apenas duas opções: Por Código e Por Descrição.

V.Back-end.
O back-end deve possuir estrutura de pacotes simples. Sendo que os pacotes devem ser iniciados com: com.ream.
Assim, se um pacote possuir o nome controller, deve ser referenciado como: com.ream.controller .
Um exemplo de estrutura dos pacotes poderia ser: controller, model, visao, dao, persistencia, outros.
É evidente que fica a critério do desenvolvedor essa distribuição. Destacando apenas que, como referência, persistencia
deve possuir a classe de conexão e dao as classes referentes aos comandos sql de cada model. Assim, como exemplo, teremos
a classe Estoque (model), EstoqueController e EstoqueDAO.
É evidente que a classe visão será diferenciada devido ao uso de templates que serão utilizados no JEE.
Não esquecendo que se deve desenvolver o back-end com acesso puro ao JDBC.

>>>> NÃO ESQUECER DE DOCUMENTAR CADA MÉTODO TANTO NO FRONT-END QUANTO NO BACK-END, EXPLICANDO SEUS FUNCIONAMENTOS.



Categoria: IT & Programação
Subcategoria: Programação
Qual é o alcance do projeto?: Alteração média
Isso é um projeto ou uma posição de trabalho?: Um projeto
Tenho, atualmente: Eu tenho especificações
Experiência nesse tipo de projeto: Sim (Eu já gerenciei esse tipo de projeto)
Disponibilidade requerida: Conforme necessário
Funções necessárias: Designer, Desenvolvedor

Freelancers que ya aplicaron para este trabajo

LFGM S. Desenvolvedor a mais de 12 anos com experiencia com aplicações WEb e desktop + detalles

Crea tu propio proyecto

¿Buscas un freelancer para realizar un proyecto similar? Crea tu propio proyecto y recibirás ofertas de los mejores freelancers.

Otros proyectos de este cliente

Para ver más detalles del cliente

Ingresa a Workana