Aspiracional
Estas funcionalidades fazem parte da visão do produto. Representam uma direção comprometida, não uma lista de desejos, mas não possuem cronogramas definidos. Cada item é algo que pretendemos construir; a questão é quando, não se.
Para a visão geral completa de status, consulte Status Atual.
Visão do Produto
| Funcionalidade | Descrição |
|---|---|
| Hospedagem SaaS Multi-Tenant | Instâncias Moodle gerenciadas como linha de serviço (Campus EAD / MIDDAG Pro) |
| Relatórios e Análises de Faturamento | Dashboards de receita, análises de entitlements, conciliação financeira |
| Análises Avançadas do Dashboard | Métricas estendidas além do dashboard planejado: análise de coorte, churn |
Hospedagem SaaS Multi-Tenant
O plugin já gerencia ambientes com hierarquia pai-filho. O passo aspiracional é transformar isso em uma oferta SaaS totalmente gerenciada, onde clientes compram um entitlement de hospedagem e recebem uma instância Moodle provisionada automaticamente, com monitoramento, backups e gestão de ciclo de vida administrados pelo plugin.
Faturamento e Análises
Hoje o plugin rastreia registros financeiros (pedidos, faturas, saldos de crédito). O passo aspiracional adiciona visões de relatórios: receita recorrente mensal, tendências de crescimento de entitlements, taxas de renovação e conciliação de receita entre as entidades BR e US.
Experiência do Desenvolvedor
| Funcionalidade | Descrição |
|---|---|
| Pacote de Tipos TypeScript | Pacote npm publicado com tipos de resposta da API para desenvolvedores de portal |
| Especificação OpenAPI | Especificação legível por máquina para a REST API v1, gerada automaticamente a partir do código |
| Gate de Testes Automatizados CI/CD | Integração contínua com thresholds de cobertura e gates de qualidade |
| Documentação de Hooks | Documentação pública para desenvolvedores de todos os hooks de action e filter |
Tipos TypeScript
Desenvolvedores de portal que constroem frontends customizados contra a REST API atualmente não possuem segurança de tipos. Um pacote publicado @middag-io/account-types forneceria interfaces TypeScript para cada resposta da API, geradas a partir das definições de entidade PHP.
Geração Automática de OpenAPI
A REST API v1 segue padrões consistentes (envelope, códigos de erro, paginação). Uma especificação OpenAPI 3.1 gerada automaticamente habilitaria geração de SDKs de cliente, coleções Postman e testes de contrato automatizados.
Gates de CI/CD
O projeto já executa composer check localmente (PHPStan, PHP-CS-Fixer, Rector, PHPUnit). O passo aspiracional automatiza isso no CI para cada pull request, com thresholds mínimos de cobertura (Domain 90%, API 70%, Integration 60%, WordPress 50%).
Operações e Infraestrutura
| Funcionalidade | Descrição |
|---|---|
| Monitoramento de Saúde do Cron | Avisos no admin sobre saúde de cron jobs e status de tarefas agendadas |
| Templates de E-mail com Override por Tema | Notificações por e-mail customizáveis com sistema de override via tema |
| Listagem no Marketplace | Distribuição via diretório de plugins do WordPress.org |
| Migração de Banco de Dados para CCT | Transição completa de wp_posts/wp_postmeta para tabelas customizadas |
Templates de E-mail
O plugin atualmente possui notificações por e-mail implementadas inline. A abordagem aspiracional é um sistema de templates onde temas podem sobrescrever templates de e-mail (similar aos templates de e-mail do WooCommerce), com templates padrão utilizando o design system MIDDAG.
Marketplace
Publicar no WordPress.org requer atender às diretrizes de revisão, o que se alinha com o checklist de boas práticas existente. Isso também implica remover a dependência do WooCommerce para o plugin principal, tornando-o um companheiro recomendado.
Portal e White-Label
| Funcionalidade | Descrição |
|---|---|
| Suporte a Portal White-Label | Customização de marca para agências construindo portais para seus clientes |
| Portal Responsivo para Mobile | Experiência otimizada do portal do cliente para dispositivos móveis |
| API de Tema do Portal | Hooks e filtros para customização profunda do portal sem necessidade de fork |
O suporte white-label permite que agências implantem o MIDDAG Account para seus próprios clientes com marca, domínio e esquema de cores personalizados, mantendo a infraestrutura subjacente gerenciada centralmente.
Como Aspiracional Difere de Planejado
| Aspecto | Planejado | Aspiracional |
|---|---|---|
| Cronograma | Próximo ciclo de desenvolvimento | Sem cronograma definido |
| Especificação | Escrita ou em andamento | Direção definida, especificação não iniciada |
| Recursos | Comprometidos | Ainda não alocados |
| Dependência | Pode bloquear outros trabalhos planejados | Independente do ciclo atual |
| Promoção | Passa para Disponível Agora ao ser entregue | Passa para Planejado quando a especificação inicia |
Quando uma funcionalidade aspiracional recebe uma especificação e recursos comprometidos, ela passa para Planejado.