diff --git a/docs/roadmap-resenha.md b/docs/roadmap-resenha.md index 8c2fe357..110ab475 100644 --- a/docs/roadmap-resenha.md +++ b/docs/roadmap-resenha.md @@ -71,6 +71,35 @@ Três opções, com custos bem diferentes: **Bloqueio:** exige registrar um app no dashboard do Spotify e obter client id/secret. Isso é ação sua; eu não consigo fazer. + +## Regra de idioma (a partir de 2026-08-31) + +Funcionalidade nova sai com interface em **pt-BR**, e a cada update um sistema +existente é traduzido. Os dois idiomas **coexistem**. Código, comentários e +commits seguem em inglês. + +**Pré-requisito não óbvio:** o projeto não tem sistema de i18n algum — as +strings estão fixas em inglês dentro dos componentes. Traduzir "um sistema por +update" só é possível depois da fundação abaixo. + +## Ideias novas — a avaliar + +Ordenadas por relação valor/custo para um servidor de grupo fechado. + +| Sistema | Tamanho | Por que faz sentido aqui | +|---|---|---| +| **Fundação de i18n** | Média | Bloqueia a regra de idioma acima. Dicionário por idioma + hook de tradução + seletor nas configurações; migração componente a componente, um por update | +| **Fechar cadastro + convites** | Pequena | A instância está com `REGISTRATION_OPEN=true`: qualquer um cria conta. O `InviteModal` já existe — é trocar cadastro aberto por convite | +| **Backup fora da VPS** | Pequena | Hoje app, banco, uploads, backups e as três cópias do repositório morrem no mesmo evento. Um envio periódico para fora resolve | +| **Aniversários e lembretes** | Pequena | Alto retorno afetivo, custo baixo: campo de data + verificação diária + mensagem no canal | +| **Perfis por servidor** | Média | Apelido e avatar diferentes por espaço, como no Discord. O modelo já tem membro por espaço | +| **Eventos agendados com presença** | Média | "Sexta 21h" com confirmação. Encaixa nas notificações e no PWA já instalado | +| **Notificações push de verdade** | Média | O `vite-plugin-pwa` e o service worker já estão lá; falta Web Push (VAPID) e o registro no servidor | +| **Níveis e conquistas** | Média | Gamificação por tempo em call e mensagens. **Mesmo registro de eventos da auditoria e das estatísticas** — três features, um mecanismo | +| **Clipes de call** | Grande | "Salvar os últimos 30 segundos" depois de alguém falar besteira. O LiveKit tem egress; exige buffer contínuo e armazenamento | +| **Fila de música compartilhada** | Grande | Um participante-robô publicando faixa de áudio na sala LiveKit. É o que mais muda o uso de um servidor de amigos, e o mais caro | +| **Autenticação em duas etapas** | Média | Só faz sentido depois de decidir o modelo de cadastro | + ## Dependência que vale respeitar **Auditoria (#9) e Estatísticas compartilham o mesmo mecanismo**: uma tabela de