Skip to content

About

Centro de estudos Kátia Ferreira

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

cekferreira

Centro de Estudos Kátia Ferreira — formação em estética injetável.

Status

Projeto em fase inicial. Ainda não há código de aplicação — o repositório contém o material de identidade visual, sua análise e o schema do banco versionado.

Conteúdo atual

Caminho Descrição
IDV - CARTAO + RECEITUARIO.jpg Material original de identidade visual (papel timbrado + cartões de visita)
public/logo.png Logo oficial (emblema, fundo transparente)
roteiro-video.md Roteiro sugerido para o vídeo institucional
identidade-visual.md Análise da identidade: logotipo, paleta (amostrada por pixel), tipografia, contatos e pontos em aberto
supabase/config.toml Configuração do stack Supabase local
supabase/migrations/ Schema do banco, versionado. Fonte única da verdade
.github/workflows/supabase.yml Valida as migrations em PR e aplica em produção no push para main
.env.example Modelo das variáveis de ambiente

Stack

  • Editor / assistente: VSCode + Claude Code
  • Versionamento: Git + GitHub (Jadirconsult/cekferreira)
  • Deploy: Vercel
  • Banco de dados: Supabase — projeto caavdgcujaibwjwjsjzl (https://caavdgcujaibwjwjsjzl.supabase.co)
  • Pagamentos: Asaas

Banco de dados integrado ao GitHub

O schema mora no Git, não no SQL Editor. O fluxo é:

edita/cria arquivo em supabase/migrations/  →  PR  →  CI valida em banco limpo
                                            →  merge em main  →  CI aplica em produção

Configuração necessária (uma vez, no GitHub)

Em Settings → Secrets and variables → Actions, criar o environment production e adicionar:

Secret Onde obter
SUPABASE_ACCESS_TOKEN Supabase → Account → Access Tokens
SUPABASE_DB_PASSWORD Senha do banco: Project Settings → Database (pode ser redefinida ali)

O ref do projeto (caavdgcujaibwjwjsjzl) está no próprio workflow — ele faz parte da URL pública e não é segredo.

Trabalhando localmente

npx supabase login                      # uma vez
npx supabase link --project-ref caavdgcujaibwjwjsjzl
npx supabase start                      # sobe Postgres + Studio locais (requer Docker)
npx supabase migration new nome_da_mudanca
npx supabase db reset                   # reaplica tudo do zero e testa

Regra: nunca alterar o schema de produção pelo SQL Editor do dashboard. Isso dessincroniza o histórico de migrations e o próximo db push passa a falhar ou a sobrescrever mudanças. Toda mudança entra como migration.

Modelo de dados

cursos → inscricoes ← alunos, e pagamentos pendurado em inscricoes (com asaas_payment_id).

RLS está ligado nas quatro tabelas. A única policy pública é leitura de cursos com status = 'ativo'. Inserções (inscrição, pagamento) devem passar por rota server-side usando a service_role key — nunca a anon key direto do navegador.

O site

Next.js (App Router) + TypeScript. Landing page mobile-first que bifurca o visitante entre as duas trilhas de formação: quem está começando na área (B2C) e quem já tem clínica (B2B). Não trata de atendimento a pacientes — isso terá site próprio.

O catálogo de cursos é lido do Supabase e revalidado a cada 5 minutos; com o catálogo vazio, a página renderiza um estado vazio próprio em vez de conteúdo fabricado.

Direção visual e tokens: DESIGN.md. Verdade de produto: PRODUCT.md.

npm install
npm run dev     # http://localhost:3000
npm run build   # build de produção

Precisa de .env.local preenchido — copie de .env.example.

Deploy na Vercel

  1. Importe Jadirconsult/cekferreira em vercel.com. O framework é detectado sozinho.

  2. Em Settings → Environment Variables, cadastre as duas chaves públicas:

    Nome Valor
    NEXT_PUBLIC_SUPABASE_URL https://caavdgcujaibwjwjsjzl.supabase.co
    NEXT_PUBLIC_SUPABASE_ANON_KEY a chave anon do projeto

    SUPABASE_SERVICE_ROLE_KEY não é necessária hoje — a página só lê dados públicos. Só cadastre quando existir rota server-side de inscrição.

  3. Sem essas variáveis o build não quebra: a página sobe com o catálogo vazio.

Pendências

  • Confirmar posicionamento da marca. O schema assume centro de treinamento B2B, mas o material de identidade é de clínica/spa B2C ("Organic Beauty Center"). Ver "Pontos de atenção" em identidade-visual.md.
  • Confirmar os dados de contato divergentes (telefone fixo e andar/sala) apontados na mesma seção.

About

Centro de estudos Kátia Ferreira

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages