first commit
This commit is contained in:
73
docs/02-requisitos.md
Normal file
73
docs/02-requisitos.md
Normal file
@@ -0,0 +1,73 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user