# Checklist de publicação — V6

## Antes de publicar

- [ ] Fazer backup da base de dados e `media/`.
- [ ] Utilizar PostgreSQL em produção.
- [ ] Definir `DEBUG=False`.
- [ ] Definir `SECRET_KEY` exclusiva.
- [ ] Configurar `ALLOWED_HOSTS` e `CSRF_TRUSTED_ORIGINS`.
- [ ] Ativar HTTPS e cookies seguros.
- [ ] Executar `collectstatic`.
- [ ] Configurar a URL pública do portal em **Sistema → Configuração**.
- [ ] Configurar SMTP mantendo o modo de teste.
- [ ] Configurar Redis, worker e beat.
- [ ] Testar backup e reposição.
- [ ] Rever permissões de utilizadores e acessos ao portal.
- [ ] Confirmar que os clientes apenas veem os seus objetos.
- [ ] Rever documentos marcados como visíveis.
- [ ] Rever tickets e notas internas.
- [ ] Definir limites e tipos permitidos para uploads no servidor web.

## Comandos

```bash
pip install -r requirements.txt
python manage.py migrate
python manage.py collectstatic --noinput
python manage.py seed_initial_data
python manage.py setup_notification_schedule
python manage.py check --deploy
```

## Validação funcional

- [ ] Login administrativo.
- [ ] Login de cliente.
- [ ] Serviço e renovação visíveis.
- [ ] Documento privado descarregável pelo cliente correto.
- [ ] Documento inacessível por outro cliente.
- [ ] Criação e resposta a ticket.
- [ ] Resposta administrativa gera notificação em modo de teste.
- [ ] Resolução e reabertura.
- [ ] Upload de comprovativo.
- [ ] Alteração de contactos e palavra-passe.
