# TCC: Missão 3 | Linguagem de Programação
**Autor:** Gabriel Santos de Oliveira
**Número:** 17
**Turma:** Informática C
**Autor:** Giovanna dos Santos Rezende
**Número:** 18
**Turma:** Informática C
**Autor:** Levi Santos Guimarães
**Número:** 30
**Turma:** Informática C
**Autor:** Mário Eduardo Borges Prado Queiroz
**Número:** 38
**Turma:** Informática C
**Autor:** Nicolas Nunes Andrade
**Número:** 41
**Turma:** Informática C
**Autor:** Vitório Trindade Santana
**Número:** 50
**Turma:** Informática C
[toc]
## Caso de uso módulo Catálogo
### Imagem Caso de Uso

### Descrição, regras e eventos
#### Adicionar ao carrinho
**Descrição**: Ao clicar na opção adicionar ao carrinho , o item selecionado vai direto ao carrinho
**Regras**: (1) Tendo sido adicionado uma vez ao carrinho, o produto não poderá ser adicionado novamente;
**Eventos**: Clique do botão do carrinho na box do produto.
#### Pesquisar produto
**Descrição**: Para facilitar a procura de um item especifico você poderá colocar o nome dele na barra de pesquisa.
**Regras**: (1) A pesquisa tem um máximo de 30 caracteres; (2) Caso o produto pesquisado não esteja cadastrado, a pesquisa resultará em um erro.
**Eventos**: Clique do botão buscar no cabeçalho da tela inicial.
#### Selecionar uma categoria
**Descrição**: Você poderá optar por uma pesquisa mais especifica ao clicar em uma categoria, por exemplo "laticínios" o resultado mostrado vai ser apenas itens dessa categoria.
**Regras**: (1)
**Eventos**: Clique sobre uma categoria da tela inicial.
#### Acessar carrinho
**Descrição**: Ao clicar no carrinho ele vai mostrar todos os itens que você adicionou ao carrinho.
**Regras**: (1) A funcionalidade só estará disponível caso tenha pelo menos um item no carrinho;
**Eventos**: Clique no ícone de um carrinho no cabecalho.
#### Acessar conta
**Descrição**: Ao clicar no ícone do perfil ele irá te mostrar todas as suas informações pessoais.
**Regras**: (1) É necessário estar logado para que essa função esteja disponível; (2) Caso não esteja logado, no seu lugar estará uma opção de entrar ou cadastrar-se;
**Eventos**: Clique do ícone de perfil ou botão "Minha conta".
## Caso de uso módulo Compra
### Imagem Caso de Uso

### Descrição, regras e eventos
#### Remover Produto
**Descrição**: Tendo produtos adicionados ao seu carrinho e o usuário tendo aberto a tela do mesmo, ele poderá ver a sua lista de compras e nela remover os produtos.
**Regras**: (1) Será possível usar a funcionalidade apenas se tiver um item na lista.
**Eventos**: Clique do botao "Remover".
#### Aumentar/Diminuir a quantidade
**Descrição**:Tendo produtos adicionados ao seu carrinho, o usuário poderá abrir a tela de carrinho e aumentar ou diminuir a quantidade dos itens da sua lista.
**Regras**: (1) Só é possível aumentar a quantidade dos produtos até uma quantidade de 10 produtos do mesmo; (2) Só é possível aumentar ou diminuir a quantidade dos produtos de "uma em uma"; (3) A funcionalidade só estará disponível enquanto tiver um produto na lista, caso o mesmo seja removido a funcionalidade também será;
**Eventos**: Clique dos botões "+" ou "-".
#### Alterar Endereço
**Descrição**: No meio da compra, caso tenha colocado seu endereço incorretamente, o usuário poderá alterar o seu endereço.
**Regras**: (1) O endereço tem que ser válido;
**Eventos**: CLique do botão de alterar o endereço.
#### Selecionar o Método de Pagamento
**Descrição**: Tendo seus itens selecionados o usuário poderá avançar mais na sua compra selecionando o método de pagamento.
**Regras**: (1) O usuário caso escolha cartão terá de colocar um válido;
**Eventos**: Clique no botão do método de pagamento desejado.
#### Finalizar Compra
**Descrição**: Tendo escolhido corretamente os seus itens e preenchido corretamente todos os dados, o usuário poderá finalizar a sua compra.
**Regras**: (1) Para realizar o mesmo terá de ter no mínimo um item na lista; (2) É necessário ter preenchido todos os campos para poder finalizar a compra;
**Eventos**: Clique do botão de finalizar a compra.
#### Abrir o Chat
**Descrição**: Tendo finalizado a sua compra, o usuário poderá abrir o chat e se manter informado de como está a entrega do seu produto.
**Regras**: (1) A funcionalidade só poderá ser executada quando uma compra é efetuada pelo cliente;
**Eventos**: Clique do botão "Abrir o Chat".
## Caso de uso módulo Chat
### Imagem Caso de Uso

### Descrição, regras e eventos
#### Enviar mensagem
**Descrição**: Tendo efetuado a compra, o usuário poderá perguntar sobre a situação da entrega para o administrador ou avaliar a entrega.
**Regras**: (1) Só será acessível esta funcionalidade caso o usuário tenha efetuado a compra; (2) Não serão permitidas mensagens com palavrões ou xingamentos; (3) As mensagens tem um máximo de 60 caracteres.
**Eventos**: Clique do botão enviar mensagem.
#### Minimizar o chat
**Descrição**: Tendo o chat aberto, o usuário poderá minimizar o mesmo ou maximizar.
**Regras**: (1) A funcionalidade só estará disponível após o chat ter sido aberto pelo menos uma vez.
**Eventos**: Clique do botão minimizar.
## Caso de uso módulo Administrador
### Imagem Caso de Uso

### Descrição, regras e eventos
#### Aprovar compras
**Descrição**: Tendo recebido a notificação de que algum cliente realizou uma compra, o administrador poderá aprovar a mesma.
**Regras**:(1) A função só estará disponível após um pedido de compra ser efetuado;
**Eventos**: Clique do botão "Aprovar a Compra" ou "Negar".
#### Adicionar Produtos
**Descrição**: Para que no sistema seja possível o cliente ver os produtos disponíveis para a compra, o administrador poderá adicionar eles.
**Regras**: (1) Só poderá ser adicionado um produto cujo todas as informções foram preenchidas corretamente;
**Eventos**: Clique do botão "Adicionar Produto".
#### Enviar Mensagem
**Descrição**: Tendo recebido a notificação de uma compra e aprovado a mesma, o administrador deverá manter o usuário informado sobre o processo da entrega da sua compra.
**Regras**: (1) Só poderá enviar uma mensagem para algum cliente caso o mesmo tenha feito alguma compra aprovada; (2) Não serão permitidas mensagens com palavrões ou xingamentos; (3) As mensagens tem um máximo de 60 caracteres.
**Eventos**: Clique do botão enviar.
{"metaMigratedAt":"2023-06-16T07:31:52.208Z","metaMigratedFrom":"Content","title":"TCC: Missão 3 | Linguagem de Programação","breaks":true,"contributors":"[{\"id\":\"052c8e10-b233-429a-a1e0-0d8df7864830\",\"add\":5551,\"del\":133},{\"id\":\"8d42a78d-33d4-4604-b577-43ea4f59df17\",\"add\":1151,\"del\":128}]"}