Pular para o conteúdo
🚀 QUICKSTART

App rodando em 5 minutos.

Next.js 15 + SuperDB Auth — signup, login e middleware de proteção de rotas.

O que este template inclui

  • Signup e login com email/senha
  • Suporte a OAuth (Google, GitHub, etc.) via redirect
  • Middleware de proteção de rotas (cookie-based)
  • Callback handler para OAuth (/auth/callback)
  • Home page protegida com dados do usuário logado
  • .cursorrules + CLAUDE.md + .aiderrules pra IA coding

Passo a passo

1Crie seu app a partir do template

Usa o exemplo oficial do SuperDB pra Next.js 15. Já vem com signup, login, OAuth callback e middleware de proteção de rotas configurados.

O template também inclui .cursorrules, CLAUDE.md e .aiderrules pra IA coding funcionar de primeira.

terminal
npx create-next-app meu-app --example \
  https://github.com/superdb/superdb/tree/main/templates/quickstart-nextjs

cd meu-app

2Configure as variáveis de ambiente

Copie o .env.example e cole suas credenciais. As variáveis NEXT_PUBLIC_* vão pro client; a SUPERDB_SERVICE_KEY fica só no server.

Você pega essas credenciais no dashboard em app.superdb.com.br → Settings → API Keys.

⚠️

Cuidado: SUPERDB_SERVICE_KEY nunca expõe ao client. Mantenha só em variáveis sem prefixo NEXT_PUBLIC_.

terminal
cp .env.example .env.local
.env.local
NEXT_PUBLIC_SUPERDB_URL=http://localhost:9999
NEXT_PUBLIC_SUPERDB_ANON_KEY=seu-anon-key-aqui
NEXT_PUBLIC_SUPERDB_PROJECT=meu-projeto
SUPERDB_SERVICE_KEY=seu-service-key-aqui

3Suba o SuperDB localmente

O @superdb/cli sobe um ambiente completo via Docker Compose: Postgres + Auth + REST + Studio. Tudo em localhost.

Requer Docker Desktop rodando.

terminal
npm install -g @superdb/cli
superdb start

# 🟢 SuperDB rodando em:
#   Auth      http://localhost:9999
#   REST API  http://localhost:3000
#   Studio    http://localhost:54323

4Instale dependências e rode o dev server

Hot-reload, TypeScript, e session já preconfigurados. Vai funcionar de primeira.

terminal
npm install
npm run dev

5Acesse o app

Abra http://localhost:3000 no navegador. Você vai ver a tela de login. Crie uma conta de teste e está dentro.

A home protegida mostra os dados do usuário logado lidos via db.auth.getUser() em server component.

navegador
→ http://localhost:3000

[Login] [Signup com Google]
        ↓
[Dashboard] olá, felipe@superdb.com.br

Adicionar tabelas com RLS

Use o MCP tool superdb_run_sql ou psql para criar tabelas. Exemplo simples:

tasks.sql
CREATE TABLE proj_meuapp.tasks (
  id uuid DEFAULT gen_random_uuid() PRIMARY KEY,
  user_id uuid NOT NULL,
  title text NOT NULL,
  done boolean DEFAULT false
);

ALTER TABLE proj_meuapp.tasks ENABLE ROW LEVEL SECURITY;

CREATE POLICY tasks_own ON proj_meuapp.tasks
  USING (user_id = auth.uid());
💡

Dica: Quer ver a tabela funcionando? No frontend: await db.from('tasks').select('*'). RLS filtra automaticamente.

Próximos passos

Essa página ajudou?