Files
petlink_final/docs/02-requisitos.md

4.8 KiB

2. Requisitos do Sistema

2.1 Requisitos Funcionais

2.1.1 Autenticação e Conta

  • O sistema deve permitir o registo de novos utilizadores com nome, email, palavra-passe, data de nascimento e localidade (distrito)
  • O sistema deve impedir o registo de utilizadores com menos de 18 anos, verificando a data de nascimento no servidor
  • O sistema deve permitir login por email e palavra-passe
  • O sistema deve disponibilizar recuperação de palavra-passe por email
  • O utilizador deve poder alterar os seus dados, palavra-passe e preferências de tema (modo claro/escuro)
  • O utilizador deve poder consultar o seu histórico de adopções e doações
  • O utilizador deve poder eliminar a sua conta (direito ao apagamento — RGPD)

2.1.2 Módulo de Adopção

  • A página inicial deve apresentar todos os animais disponíveis para adopção
  • O utilizador deve poder filtrar animais por: distrito, espécie (cão, gato, outro), raça, sexo (macho/fêmea), estado de esterilização e faixa etária
  • Cada animal deve ter ficha detalhada com: nome, espécie, raça (cães e gatos), idade, sexo, estado de esterilização, fotografias e canil onde se encontra
  • Ao clicar no canil na ficha do animal, deve aparecer informação com horário de funcionamento, morada e contacto
  • Para iniciar uma adopção, o utilizador deve ter sessão activa ou ser redirecionado para login/registo
  • O utilizador deve poder seleccionar uma data disponível para levantar o animal no canil
  • Após confirmação da reserva, o animal fica com estado "Reservado" e o utilizador recebe email de confirmação com data e detalhes do canil
  • Animais com urgência de adopção devem ter destaque visual na listagem

2.1.3 Módulo de Doação

  • Para efectuar qualquer doação, o sistema deve confirmar que o utilizador tem sessão activa e +18 anos
  • O utilizador deve poder escolher entre três tipos de doação: Monetária, Ração e Brinquedos
  • Doação Monetária: selecção de método de pagamento (Cartão de Crédito, MBWay), escolha de canil (da localidade do utilizador ou de outra localidade) e montante
  • Doação de Ração: listagem de canis que aceitam ração, tipos disponíveis (seca/húmida, para cão/gato, adulto/filhote), opção de entrega em casa ou levar pessoalmente ao canil
  • Doação de Brinquedos: listagem de canis que aceitam brinquedos, categorias disponíveis, opção de entrega em casa ou levar pessoalmente ao canil
  • O utilizador deve receber recibo de doação por email após confirmação

2.1.4 Gestão de Canis (Painel Privado)

  • Canis registados devem ter acesso a painel próprio para gerir animais, reservas e necessidades actuais
  • Canis devem poder actualizar horários de funcionamento, morada e informações de contacto
  • Canis devem receber notificação de novas reservas e doações
  • Canis devem poder indicar que necessidades têm actualmente (ex: ração seca para cão adulto, mantas)
  • Canis devem poder marcar animais como adoptados após levantamento

2.1.5 Painel de Administração

  • O administrador deve poder visualizar estatísticas gerais (adopções, doações, utilizadores activos)
  • O administrador deve poder moderar canis e utilizadores
  • O administrador deve ter acesso a logs de actividade relevantes

2.2 Requisitos Não-Funcionais

Categoria Requisito Critério de Aceitação
Desempenho Tempo de carregamento da página inicial < 2 segundos em ligação 4G
Segurança Autenticação e protecção de dados HTTPS obrigatório, hash bcrypt (custo 12), tokens JWT assinados
Acessibilidade Conformidade com directrizes de acessibilidade WCAG 2.1 Nível AA mínimo
Responsividade Compatibilidade mobile e desktop Funcional em viewports a partir de 320px de largura
Disponibilidade Uptime da plataforma ≥ 99,5% mensal (acordo de nível de serviço)
RGPD Protecção de dados pessoais Consentimento explícito, direito ao apagamento, exportação de dados
Escalabilidade Crescimento de utilizadores Suporte a 10.000 utilizadores activos simultâneos sem degradação
Email Entrega de emails transaccionais Taxa de entrega superior a 98%
Internacionalização Idioma da interface Português de Portugal (pt-PT) como idioma principal
SEO Indexação por motores de busca Páginas públicas com SSR e metadados correctos

2.3 Restrições

  • A plataforma deve estar em conformidade com o RGPD (Regulamento Geral sobre a Protecção de Dados) e legislação portuguesa
  • Os pagamentos devem ser processados por um fornecedor certificado PCI DSS (Stripe)
  • O registo é exclusivo para maiores de 18 anos — validação obrigatória no servidor
  • Apenas canis registados e verificados pela equipa PetLink podem listar animais para adopção