Esta documentação é destinada ao público geral e stakeholders externos para fornecer uma visão clara e acessível sobre o sistema de gestão do Pet Express -Pet Shop Digital.
****📋 Visão geral
Este documento apresenta uma visão geral dos requisitos para o desenvolvimento do novo sistema de gestão digital do Pet Express - Pet Shop Digital. Nosso objetivo é modernizar e otimizar os serviços oferecidos pelo pet shop, proporcionando uma plataforma digital fácil de usar para nossos clientes e uma ferramenta eficiente para nossa equipe administrativa. Aqui, você encontrará informações sobre as funcionalidades que serão disponibilizadas, os padrões de qualidade que seguiremos, e as regras básicas que garantirão o bom funcionamento do sistema.
🎯 Descrição do Produto:
O sistema de gestão do Pet Express - Pet Shop Digital. é uma plataforma digital inovadora, desenvolvida para transformar a experiência dos clientes e a eficiência das operações internas. A solução possibilitará que os clientes acessem o catálogo de produtos, realizem agendamentos de serviços como banho e tosa, além de gerenciar informações pessoais e dos seus pets. Para a administração, o sistema oferecerá ferramentas robustas para gerenciar vendas, agendamentos, estoque e a equipe de funcionários com maior precisão e velocidade.
A plataforma é alimentada por uma API RESTful, utilizando tecnologias modernas como Node.js, Sequelize, Express e JWT para autenticação e autorização. A API foi projetada para operações de CRUD (Criar, Ler, Atualizar e Deletar) abrangentes, com foco no gerenciamento de pets, produtos, carrinho de compras e pagamentos.
✏️ Requisitos Funcionais:
| Requisitos Funcionais |
Prioridade |
Descrição detalhada |
| Métodos de usuário |
ALTA |
O sistema oferecerá operações completas de CRUD (Criar, Ler, Atualizar e Deletar) para os usuários. Os métodos incluirão: |
- Criar Usuário: O cadastro será dividido em duas partes. Na primeira, o usuário deverá fornecer nome completo, e-mail, telefone, senha e CPF. Na segunda parte, ele informará o endereço completo.
- Ler Usuário: O sistema permitirá a visualização de dados dos usuários registrados.
- Atualizar Usuário: Os usuários poderão atualizar suas informações pessoais e endereço diretamente pelo sistema.
- Deletar Usuário: Caso o usuário deseje, ele poderá excluir sua conta e todos os dados relacionados. |
| Login de Usuário | ALTA | A tela de login será a página inicial do sistema, onde os usuários poderão acessar suas contas usando e-mail e senha.
- Autenticação: O sistema verificará se as credenciais do usuário estão corretas.
- Redefinir Senha: Caso o usuário esqueça a senha, haverá uma opção para redefini-la por e-mail. |
| Perfil do Cliente | ALTA | O perfil do cliente será composto por métodos que permitem ao usuário gerenciar seus dados pessoais, pets, histórico de compras e serviços.
- Visualizar Perfil: Permite ao usuário visualizar suas informações.
- Editar Perfil: Possibilita editar dados pessoais e gerenciar informações de pets cadastrados.
- Deletar Perfil: O cliente poderá optar por excluir sua conta e todas as informações associadas. |
| Métodos de produtos | ALTA | O sistema contará com operações CRUD para gerenciar o catálogo de produtos:
- Criar Produto: Administradores poderão adicionar novos produtos ao catálogo, especificando nome, preço, descrição, categoria, e estoque.
- Ler Produtos: Os usuários poderão visualizar todos os produtos cadastrados, com a possibilidade de buscar e filtrar por categorias, preço e marca.
- Atualizar Produto: Administradores poderão editar informações do produto, como preço e disponibilidade.
- Deletar Produto: Produtos poderão ser removidos do catálogo quando necessário. |
| Métodos de carrinho | ALTA | Métodos de CRUD estarão disponíveis para o carrinho de compras dos usuários:
- Adicionar ao Carrinho: Permite adicionar itens ao carrinho de compras.
- Visualizar Carrinho: O sistema exibirá os itens no carrinho, permitindo ao usuário revisar os produtos selecionados.
- Atualizar Quantidades: O usuário poderá alterar a quantidade de produtos no carrinho.
- Remover do Carrinho: Itens poderão ser removidos do carrinho antes da finalização da compra. |
| Métodos de animais | ALTA | CRUD completo para o cadastro de pets:
- Criar Pet: Usuários poderão registrar novos pets, informando nome, idade, espécie (pré-definida) e tamanho.
- Ler Pets: O usuário poderá visualizar todos os pets cadastrados no perfil.
- Atualizar Pet: Permite editar as informações do pet, como idade e tamanho.
- Deletar Pet: O pet poderá ser removido do sistema pelo usuário. |
| Métodos de serviços | ALTA | O sistema permitirá operações completas de CRUD para gerenciar serviços, que serão vinculados aos agendamentos.
- Criar Serviço: Administradores poderão adicionar serviços com name, description, price e duration.
- Ler Serviço: Usuários poderão visualizar serviços disponíveis com detalhes como nome, descrição, preço e duração.
- Atualizar Serviço: Administradores poderão modificar informações do serviço, como preço e duração.
- Deletar Serviço: Serviços descontinuados poderão ser removidos do sistema. |
| Métodos de agendamentos | ALTA | O sistema oferecerá operações completas de CRUD para gerenciar agendamentos de serviços. Os agendamentos serão vinculados a usuários, serviços, pets e funcionários. A tabela de agendamentos será configurada da seguinte forma:
- Criar Agendamento: Será possível criar um agendamento associando os campos user_id, service_id ,employer_id e pet_id. O usuário também precisará fornecer a data e o horário.
- Ler Agendamento: Os usuários poderão consultar os agendamentos futuros e passados. O sistema retornará informações detalhadas, como o serviço agendado, o funcionário responsável e o pet vinculado.
- Atualizar Agendamento: Permite que os usuários alterem a data, o horário ou o pet vinculado ao agendamento, respeitando os limites de disponibilidade do serviço e do funcionário.
- Deletar Agendamento: Os usuários poderão cancelar agendamentos, removendo-os do sistema. |
| Métodos de cidades | ALTA | As cidades já estarão pré-estabelecidas no banco de dados, permitindo apenas operações de leitura.
- Ler Cidade: Usuários poderão visualizar as cidades disponíveis associadas aos estados. Não serão permitidas operações de criação, atualização ou exclusão. |
| Métodos de endereços | ALTA | O sistema permitirá operações completas de CRUD para gerenciar endereços vinculados a usuários e cidades.
- Criar Endereço: Usuários poderão adicionar endereços com user_id, complement, number, cep e city_id.
- Ler Endereço: Usuários poderão visualizar seus endereços cadastrados, com detalhes como cidade e CEP.
- Atualizar Endereço: Usuários poderão atualizar informações do endereço, como número, complemento e cidade.
- Deletar Endereço: Endereços poderão ser removidos quando não forem mais válidos. |
| Métodos de estados | ALTA | Os estados já estarão pré-estabelecidos no banco de dados, permitindo apenas operações de leitura.
- Ler Estado: Usuários poderão visualizar a lista de estados disponíveis com suas respectivas siglas (UF). Não serão permitidas operações de criação, atualização ou exclusão. |
| Métodos de funcionários | ALTA | O sistema permitirá operações completas de CRUD para gerenciar funcionários, vinculados a serviços e agendamentos.
- Criar Funcionário: Administradores poderão cadastrar funcionários com name, phone e position.
- Ler Funcionário: Usuários e administradores poderão visualizar a lista de funcionários disponíveis e seus detalhes, como nome, telefone e cargo.
- Atualizar Funcionário: Administradores poderão modificar as informações do funcionário, como telefone ou cargo.
- Deletar Funcionário: Funcionários poderão ser removidos quando necessário. |
| Métodos de categorias | ALTA | As categorias já estarão pré-estabelecidas no banco de dados, permitindo apenas operações de leitura.
- Ler Categoria: Usuários poderão visualizar a lista de categorias disponíveis. Não serão permitidas operações de criação, atualização ou exclusão. |
| Inserção do token JWT nos endpoints | ALTA | O token JWT precisará ser inserido automaticamente em alguns endpoints onde é necessário passar o user_id, através da armazenação do localStorage dentro do navegador. |
| Filtros Avançados | ALTA | O sistema oferecerá a possibilidade de filtrar produtos por categorias, espécies e preço. Isso proporcionará uma experiência de busca personalizada para os usuários. |
| Métodos de pagamento | ALTA | O sistema permitirá operações de pagamento, vinculadas ao carrinho de compras e usuários.
-Processar Pagamento: Usuários poderão realizar o pagamento do carrinho escolhendo o método de pagamento (Cartão de Crédito, Boleto, Pix, etc.).
-Resumo do Carrinho: O sistema fornecerá um resumo do carrinho antes do pagamento, com detalhes dos produtos e valores.
-Histórico de Pagamento: Usuários poderão visualizar o histórico de pagamentos realizados, incluindo o status (Pendente, Aprovado, Cancelado). |
| Métodos de pedidos | ALTA | O sistema permitirá operações completas de gerenciamento de pedidos, vinculados a pagamentos e usuários.
-Obter Pedido: Usuários poderão visualizar detalhes dos pedidos associados a um pagamento específico.
-Cancelar Pedido: Usuários poderão cancelar pedidos antes da entrega, alterando seu status para "Cancelado".
-Marcar como Entregue: Administradores poderão marcar pedidos como entregues, atualizando o status do pedido.
-Listar Pedidos: Usuários poderão visualizar uma lista de todos os seus pedidos, com detalhes como status e data de entrega. |
✏️ Requisitos Não Funcionais:
| Requisitos Não Funcionais |
Prioridade |
Descrição detalhada |
| Segurança |
ALTA |
O sistema deve proteger os dados dos usuários, implementando criptografia diretamente na estrutura do código, para senhas e conexões seguras (HTTPS). |
| Usabilidade |
MÉDIA |
Interface intuitiva e fácil de navegar, compatível com dispositivos móveis. |
|
|
|
| Desempenho |
MÉDIA |
O sistema deve responder rapidamente a ações dos usuários, com sistema de caching, viabilizando tempos de carregamento reduzidos, mesmo em períodos de alta demanda. |
|
|
|
✏️ Regras de negócio:
| Regras de negócio |
Prioridade |
Descrição detalhada |
| Proteção de acesso aos endpoints. |
ALTA |
Só é possível acessar o sistema do petshop, se tiver cadastrado. Portanto, se não tiver cadastro ou login, não será possível ir para páginas de produtos ou serviços, redirecionando automaticamente para a tela de erro. |
| Dados Únicos |
|
|
| ALTA |
Dois usuários não podem se cadastrar com o mesmo e-mail, cpf e telefone. |
|
|
|
|
| Gerenciamento de Estoque |
MÉDIA |
O sistema deve impedir a venda de produtos que não estão em estoque. |
|
|
|
💡Fluxogramas Interface Usuário