Backend e contas
Backend Supabase (conecte uma única vez)
Conecte seu próprio projeto Supabase gratuito - banco de dados na nuvem, contas de usuário e armazenamento para apps gerados por IA
1O que conectar o Supabase oferece#
Por padrão, um app gerado por IA guarda os dados no único celular em que está instalado - modo 'Offline'. Conecte o Supabase e o mesmo app ganha um banco de dados na nuvem de verdade (Postgres), contas de usuário e armazenamento de arquivos, para que os dados sejam compartilhados entre dispositivos e usuários.
É TRAGA-O-SEU: o app conversa com o SEU projeto Supabase gratuito. O AppMint não hospeda nada para você e não cobra nada a mais por isso.
Você não projeta tabelas nem escreve SQL. O AppMint deduz o esquema a partir da descrição do seu app, aplica e o mantém sincronizado a cada compilação.
2O que você precisa antes#
Uma conta gratuita no Supabase - só isso. Você NÃO precisa criar um projeto antes; o AppMint pode criar um para você durante o login.
O que vale saber sobre o plano gratuito:
- 2 projetos por organização.
- Os projetos são pausados após uma semana sem tráfego e voltam na próxima requisição.
Se você já tem um projeto que quer reutilizar, também funciona - o AppMint coloca cada app em um esquema próprio dentro dele, então vários apps podem compartilhar um projeto.
3Conecte (um toque, recomendado)#
No AI Studio, em 'WHERE YOUR APP'S DATA LIVES', toque no cartão 'Supabase' (ele diz 'Tap to connect'). Escolha 'Sign in with OAuth'.
Seu navegador abre o Supabase, você entra e aprova o AppMint e volta ao app automaticamente - não há token para copiar.
A mesma opção está disponível na engrenagem ⚙ Configurações → 'BACKEND - SUPABASE' → '🔗 Connect Supabase (OAuth)'.
4Escolha ou crie o projeto#
Logo depois de aprovar, o AppMint mostra 'Pick a Supabase project':
- Escolha um projeto existente, ou
- Toque em '➕ Create new project…' → escolha a organização → dê um nome (ex.: appmint-prod) → escolha uma região próxima dos seus usuários (não dá para mudar depois) → 'Create'. A criação leva de 1 a 2 minutos.
Quando o AppMint cria o projeto, ele mostra a senha do banco de dados UMA vez, porque o Supabase só guarda um hash dela. Copie-a para um lugar seguro antes de fechar a janela - você não precisa dela no AppMint, mas vai precisar para conectar qualquer outra ferramenta.
Atingiu o limite do plano gratuito ('Free tier allows 2 projects per organization')? Escolha um projeto existente ou faça upgrade no painel do Supabase.
5Ou conecte manualmente (self-hosted / sem OAuth)#
Configurações → 'BACKEND - SUPABASE' → 'MANUAL / SELF-HOSTED':
- URL do projeto - no painel do Supabase, Project Settings → API. Tem a forma https://YOUR-PROJECT-REF.supabase.co
- Chave anon - a chave publicável da mesma página; começa com 'eyJ'. Essa chave foi feita para ser pública: quem protege seus dados é o Row-Level Security, não esconder a chave.
- Ative 'Enable Supabase backend for generated apps' e toque em 'Save Supabase config'.
Marque 'Self-hosted instance' se você hospeda o Supabase por conta própria. O modo manual não consegue publicar o esquema automaticamente na Cloud - adicione um Personal Access Token (próxima etapa) se quiser isso.
Project URL https://abcdefghijkl.supabase.co
anon key eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...6O que o AppMint faz a cada compilação#
Depois de conectado, cada geração faz o trabalho de backend por você:
- Aplica o esquema que a IA escreveu (tabelas, índices, políticas de Row-Level Security).
- Executa os dados iniciais (seed), se o app precisar de algum.
- Cria buckets do Storage para uploads e imagens.
- Publica as edge functions (pagamentos, e-mail, webhooks) e pula as que não mudaram.
- Define os provedores de autenticação e a Site URL.
- Executa uma verificação de segurança e uma de migração e depois traz os tipos TypeScript de volta para o projeto.
As tabelas do seu app ficam em um esquema próprio chamado appmint_<your app>. As contas de usuário são compartilhadas por todos os apps do projeto, então um cadastro vale para todos.
7Confirme se funcionou#
Duas verificações rápidas:
- O cartão 'Supabase' no AI Studio agora mostra 'Connected', e as Configurações exibem a referência do projeto.
- Configurações → 'DIAGNOSTICS' → '⚡ Test Supabase connection' - informa o sucesso ou o erro exato.
Depois de gerar um app, abra o painel do Supabase → Table Editor e troque o seletor de esquema de 'public' para appmint_<your app> para ver as tabelas que o AppMint criou.
8Quais chaves são seguras e onde#
- Chave anon - segura dentro dos apps gerados. O Row-Level Security decide o que cada usuário conectado pode ler ou gravar.
- Chave service_role - NUNCA vai dentro de um app. O AppMint a guarda criptografada somente neste dispositivo e a usa para os buckets do Storage e para aplicar o esquema em instâncias self-hosted.
- Personal Access Token (sbp_…) - também fica só no dispositivo; permite ao AppMint publicar o esquema e as edge functions no Supabase Cloud automaticamente. Crie um em supabase.com/dashboard/account/tokens com escopo de leitura e escrita no projeto.
As duas chaves opcionais ficam em Configurações → 'ADVANCED - DEPLOY CREDENTIALS'.
9Libera: Google Sign-In, Stripe, Remote Update#
Vários recursos exigem o Supabase conectado antes e vão te trazer para cá até que isso aconteça:
- 'Continue with Google' nos apps gerados.
- Pagamentos com Stripe (o checkout roda em uma edge function no seu projeto).
- Remote Update - as atualizações que você envia para os apps instalados ficam guardadas no seu próprio projeto Supabase.
Conecte uma vez e os três ficam disponíveis; você não repete isso a cada app.
10Como remover o backend de um app#
Configurações → 'DANGER ZONE' (visível quando conectado):
- '📋 List & delete project tables' - veja todas as tabelas criadas pelo AppMint e exclua as que você não precisa mais.
- '🗑 Delete this whole app backend' - remove o esquema do app e, opcionalmente, seus buckets do Storage e edge functions. Você digita DELETE para confirmar.
Escolha 'Data only' se tiver dúvida: buckets e edge functions são compartilhados por todo o projeto, não por app. Suas contas de usuário nunca são tocadas.
Para desconectar por completo: Configurações → 'ONE-TAP OAUTH' → '🔒 Disconnect Supabase OAuth'.
11Se algo não funcionar#
- 'Not connected' depois de entrar → o OAuth terminou, mas ainda não há projeto vinculado. Configurações → 'Choose project'.
- Um aviso de que a chave anon não foi obtida automaticamente → falta o escopo Secrets:Read na sua aprovação OAuth do Supabase. Copie a chave anon em Project Settings → API e cole nas Configurações (etapa 5).
- 'Could not list your Supabase organizations' ao criar um projeto → crie o projeto no painel do Supabase, volte e escolha-o.
- 'Connect Supabase first' em Remote Update ou Stripe → este capítulo, etapa 3.
- A leitura/gravação de dados falha em um app gerado → execute primeiro '⚡ Test Supabase connection'; se passar, peça à IA para corrigir a política de Row-Level Security da tabela que ela citar.