74 lines
4.8 KiB
Markdown
74 lines
4.8 KiB
Markdown
# 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 PawLink podem listar animais para adopção
|