# Melhorias recomendadas para as próximas fases

## Backoffice e workflow

1. Criar um painel inicial no Unfold com contadores: eventos em rascunho, submetidos, em revisão, aprovados e publicados.
2. Criar uma caixa “A minha escola” para professores verem rapidamente os seus eventos, anexos e pedidos de correção.
3. Criar uma caixa “A minha zona” para administradores regionais com eventos pendentes das escolas da sua zona.
4. Criar ações específicas: “Submeter para revisão”, “Pedir correções”, “Aprovar”, “Publicar” e “Arquivar”.
5. Bloquear edição de eventos publicados para professores, permitindo apenas nova submissão ou pedido de alteração.
6. Criar histórico de alterações por evento, indicando quem alterou e quando.
7. Criar notificações internas para pedidos de correção e aprovação.
8. Criar exportação Excel/CSV da programação por zona, escola, tipologia, data e estado.

## Eventos, fichas e materiais

1. Separar anexos por tipo: cartaz, flyer, imagem de galeria, documento, autorização, ficha técnica e outro.
2. Permitir múltiplas imagens por evento, com ordem de apresentação.
3. Permitir definir uma imagem principal e várias imagens secundárias.
4. Criar campos para ficha técnica: autores/alunos, professores responsáveis, parceiros, disciplinas envolvidas e ano/turma.
5. Criar campos para acessibilidade: audiodescrição, linguagem simples, interpretação LGP, condições de acesso.
6. Criar campos para lotação, inscrição obrigatória e contacto para marcações.
7. Criar estado “Pronto para revisão regional” e “Validado pela coordenação nacional”.
8. Criar duplicação de evento para escolas que fazem atividades semelhantes.

## Página pública

1. Criar homepage com slideshow real, com botões anterior/seguinte e indicadores.
2. Criar filtros avançados na programação: data, concelho, zona, escola, tipologia e público-alvo.
3. Criar paginação na programação.
4. Criar página por zona/região.
5. Criar página por escola com todos os eventos associados.
6. Criar galeria visual com cartazes, flyers e imagens.
7. Criar pesquisa global no site.
8. Criar SEO básico: títulos, descrições, slugs e metadados Open Graph para partilhas.

## Segurança

1. Ativar políticas de password fortes e instruções de recuperação de conta.
2. Limitar tipos de ficheiros e tamanhos máximos de upload por configuração.
3. Validar imagens e documentos antes de publicação pública.
4. Criar proteção contra uploads perigosos e nomes de ficheiros inválidos.
5. Adicionar logs de login e ações críticas.
6. Criar grupos/permissões finais depois de analisar o backoffice antigo.
7. Rever `DEBUG=False`, `ALLOWED_HOSTS`, `CSRF_TRUSTED_ORIGINS`, cookies seguros e HTTPS antes de produção.
8. Fazer backup regular da base de dados e da pasta `media/`.

## Preparação para cPanel

1. Testar localmente com MySQL/MariaDB antes de publicar.
2. Criar um comando de importação para migrar dados do backoffice antigo.
3. Separar `.env` local e `.env` produção.
4. Confirmar versão Python disponível no cPanel.
5. Confirmar se o pacote `mysqlclient` instala no alojamento ou se será necessário usar alternativa compatível.
6. Criar rotina de `collectstatic` e backup antes de cada publicação.
7. Criar página de erro personalizada para 404 e 500.
8. Criar checklist final de deploy.

## A analisar quando chegar o backoffice antigo

1. Tipos reais de utilizadores.
2. Regras reais de aprovação.
3. Campos obrigatórios das fichas.
4. Estrutura dos eventos e programação.
5. Tipos reais de anexos.
6. Regras de visibilidade pública.
7. Processo de revisão/correção.
8. Exportações ou relatórios existentes.
9. Estrutura da base de dados antiga.
10. Campos que precisam de migração automática.
