Pular para o conteúdo
supastack
Explorar a documentação
WebNext.js

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /pt/docs/web/admin.md (or send Accept: text/markdown).

Consola de administração

Inspeção da plataforma, anúncios e feature flags.

Passo a passo para iniciantes

Pré-requisitos: Leia os dois guias para iniciantes abaixo, conclua a configuração local da Web e abra este monorepo na raiz do seu editor. As configurações da Web pertencem a apps/web/.env.local; Next.js não lê a raiz .env. /dashboard no modo falso padrão é uma demonstração sem banco de dados; /auth precisa de um banco de dados migrado.

Termos rápidos: um espaço de trabalho consiste em usuários, dados e configurações separados de uma equipe. O servidor é o back-end confiável; mantenha as chaves do provedor fora do navegador e do código do telefone. Uma migração é uma alteração de versão do banco de dados que cria ou atualiza tabelas. Um modelo de IA é o mecanismo que responde; o catálogo de modelos é a lista do servidor de IDs e preços de modelos disponíveis. Um provedor é um serviço externo, como IA, e-mail ou serviço de cobrança. Um direito é uma concessão que permite que um espaço de trabalho use um recurso. Um webhook é uma mensagem que um serviço envia para o URL de outro serviço.

1. Antes de criar uma conta de teste local, adicione seu próprio endereço à lista ADMIN_EMAILS somente do servidor e reinicie o aplicativo.

2. Cadastre-se no banco de dados de testes migrado e abra /admin; inspecione as páginas disponíveis do usuário e da organização.

3. Isso concede ao administrador da plataforma, não à propriedade do espaço de trabalho. Se o acesso for negado, verifique a configuração exata do e-mail e do servidor; não eleve usuários arbitrários nem teste em relação à produção.

Para código personalizado, comece com o prompts/README.md fornecido e copie o prompt mais próximo: prompts/new-app-screen.md para uma tela de aplicativo ou prompts/new-landing-page.md para uma página pública. Para trabalho de servidor, banco de dados ou provedor, dê ao seu agente de codificação a tarefa deste guia e peça-lhe para ler AGENTS.md, .ai/PROJECT_CONTEXT.md e espelhos .ai/ correspondentes; inspecione os arquivos de origem exatos nomeados aqui; listar arquivos e verificações antes de editar; preservar a propriedade do espaço de trabalho e os segredos apenas do servidor; e mostrar a diferença. Informe o comportamento desejado, campos de entrada e saída, funções permitidas, sucessos e erros esperados e a conta de teste, provedor ou dispositivo. Use valores de amostra; nunca cole um segredo real.

Crie o limite do administrador

ADMIN_EMAILS é uma lista de bootstrap separada por vírgula somente para servidor. Os usuários listados recebem a função de administrador da plataforma na inscrição. Sem ele, conceda acesso por meio de um caminho de banco de dados/administrador autorizado; não transforme o primeiro visitante arbitrário em administrador.

O administrador da plataforma é diferente do proprietário/administrador do espaço de trabalho. /admin e suas páginas de usuário, organização, sinalizador, anúncio e lista de espera verificam a função da plataforma.

Use os controles implementados

O mecanismo Better Auth padrão fornece gerenciamento de usuários administradores, banimentos e representação. O aplicativo compõe visualizações de plataforma com trilhas de auditoria. Restrinja a representação ao acesso de administrador verificado, torne seu estado visível e restaure a sessão de administrador original ao sair.

Auth.js não herda automaticamente os plug-ins de administração Better Auth. Revise o comportamento de admin.ts, admin-actions.ts e do provedor de autenticação antes de trocar de mecanismo.

Verifique ações privilegiadas

Teste a negação de não administradores, o acesso de administrador, sessões de usuários banidos, início/parada de representação e as ações que você habilita. Mantenha todas as rotas administrativas fora da indexação pública.

Instalação e configuração

A superfície /admin é a vista de inspeção do operador sobre workspaces, membros e estado do produto. ADMIN_EMAILS (ou a configuração do plugin admin no produto consumidor) decide quem lá chega; cada rota admin volta a verificar a autorização no servidor.

Os feature flags (feature-flag-runtime.ts) desativam por predefinição tudo o que não está configurado — um flag ausente nunca pode ativar silenciosamente uma superfície — e os overrides por flag vivem na tabela featureFlagOverride.

/admin                    operator dashboard
announcement-actions.ts   broadcast in-app notices
resolveFeatureFlags(...)  bulk flag resolution for a caller context

Fluxo de implementação

Usa as ações admin para inspeção e operações de suporte (pesquisa de workspace, gestão de membros, broadcast de anúncios). Mantém as mutações auditadas e a autorização verificada na fronteira da ação, não na navegação.

Lança funcionalidades atrás de flags: envia código em dark, ativa-o por workspace ou globalmente, e retira o flag quando a superfície for permanente. A impersonação de plataforma permanece congelada a menos que o PRODUCT.md do produto a autorize explicitamente.

Verificação e resolução de problemas

Verifica que um não-admin é negado, que um flag desativado oculta a sua superfície de ponta a ponta (nav, rota, ação), que um override se resolve apenas para o seu alvo e que os anúncios chegam ao público previsto. Os testes admin devem cobrir primeiro o caminho negado.

Perguntas frequentes

14 perguntas

O que é o supastack?

O supastack é uma base modular para construir produtos SaaS com IA. Reúne a infraestrutura comum para que possas concentrar-te nas funcionalidades próprias do teu produto.

Suporta web e mobile?

Sim. O supastack inclui apps Next.js e Expo como pontos de partida para experiências web e mobile.

Que autenticação está incluída?

O Better Auth cobre email/palavra-passe, OTP e login social. Os workspaces pessoais são aprovisionados com a conta para que os registos fiquem delimitados desde o primeiro dia.

Como é suportada a IA?

O supastack inclui IA multi-fornecedor configurável, registo de utilização, orçamentos e suporte encriptado de chaves próprias (BYOK).

Como são geridas as subscrições?

Para produtos construídos sobre o kit, a faturação Stripe, as subscrições e as permissões formam a base do acesso pago. Os segredos de fornecedor ficam no servidor.

Onde vive o código próprio do meu produto?

As funcionalidades próprias do produto ficam num codebase separado, enquanto o produto configura e integra os módulos base do supastack.

Como funciona o preço do supastack?

O kit é uma compra única com atualizações vitalícias: Uma framework por 249 $ (preço de lançamento temporário — 100 $ de desconto sobre o preço normal de 349 $) ou Todas as frameworks (Next.js, iOS, Android) por 499 $ (preço de lançamento temporário — 100 $ de desconto sobre o preço normal de 599 $), mais 75 $ por lugar de programador adicional. Sem subscrição do kit. O checkout neste site entrega a tua chave de licença por email, com acesso ao repo por convite GitHub.

Como é que os workspaces delimitam os meus dados?

Os registos do utilizador são delimitados por workspaceId. Identidade, permissões, utilização de IA, eventos de faturação e entradas de auditoria ficam dentro do limite do workspace pessoal.

Como funcionam os jobs em segundo plano?

O Trigger.dev é o runtime de jobs explícito. O contrato JobRunner só promete enqueue, status e cancel — a semântica de workflow permanece específica e explícita do Trigger.dev.

Como difere o email da divulgação?

O email transacional cobre fluxos de produto como avisos de conclusão de tarefas. A divulgação fria e as campanhas pertencem ao próprio produto, fora do módulo de email deste kit.

Como funcionam as compras no aplicativo móvel?

O aplicativo móvel inclui compras nativas e restauração via RevenueCat, com acesso verificado pelo servidor. Configure as contas das lojas e conclua os testes em dispositivos antes de publicar. A cobrança web permanece separada.

Onde residem as chaves dos fornecedores de IA?

As credenciais BYOK são encriptadas e ficam no servidor. As chaves são higienizadas nos logs; a utilização e os orçamentos ficam visíveis ao nível do workspace.

Quais métodos de pagamento o checkout aceita?

O checkout hospedado na Stripe aceita cartões e também pode oferecer Alipay e WeChat Pay quando essas carteiras estiverem ativadas na conta Stripe — útil para compradores na China. As autorizações de carteira são confirmadas de forma assíncrona, então a página da licença é atualizada assim que o pagamento é liquidado.

Posso solicitar um reembolso?

Depois de obter acesso ao repositório, o supastack é seu para sempre, portanto não pode ser reembolsado. Mas fique tranquilo: você recebe o código-fonte completo com atualizações vitalícias para criar e lançar produtos ilimitados para você ou seus clientes. Você apenas não pode revender o código nem redistribuir o repositório como starter kit ou modelo.

PT
Tema