Portal de registro e acompanhamento de chamados pedagógicos e tecnológicos do CRTE do Núcleo de Educação AMS. A autenticação é fornecida pelo Clerk e o armazenamento de dados fica no Supabase.
- Node.js 18 ou superior;
- Conta no Clerk com uma aplicação criada;
- Projeto Supabase com as tabelas provisionadas (ver
supabase/schema.sql).
Crie um arquivo .env.local na raiz do projeto com as chaves do Clerk e do Supabase:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="pk_test_..."
CLERK_SECRET_KEY="sk_test_..."
SUPABASE_URL="https://<sua-instancia>.supabase.co"
SUPABASE_ANON_KEY="eyJhbGciOiJIUx..."
SUPABASE_SERVICE_ROLE_KEY="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."O
SUPABASE_SERVICE_ROLE_KEYdeve ser mantido apenas no backend. Ele é usado em Server Actions para sincronizar perfis e criar chamados.
Defina também as URLs de redirecionamento no painel do Clerk:
- Sign-in redirect:
http://localhost:3000/dashboard - Sign-up redirect:
http://localhost:3000/dashboard
Execute o script supabase/schema.sql no seu projeto Supabase para criar tabelas, gatilhos e políticas RLS necessárias. Você pode usar o SQL Editor do Supabase:
-- copie o conteúdo de supabase/schema.sql e execute no painel SQLInstale as dependências e execute o projeto em modo desenvolvimento:
npm install
npm run devO aplicativo estará disponível em http://localhost:3000.
- Visitantes acessam a home (
/) e realizam o cadastro/login com Clerk; - Usuários autenticados são direcionados ao painel
/dashboard; - Ao acessar o painel, o perfil é sincronizado na tabela
profilesdo Supabase; - O formulário “Novo chamado” cria registros associados ao usuário na tabela
tickets; - A lista “Seus chamados” recupera os chamados do usuário autenticado.
Para publicar o projeto, configure as mesmas variáveis de ambiente na plataforma escolhida (Vercel, Netlify etc.) e certifique-se de informar as URLs de redirecionamento públicas no painel do Clerk e nas configurações do Supabase (Allowed Origins).