ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Famílias fortes. Discípulos maduros. Mais que encontros. Uma transformação.
Translation pending
EducationPLpgSQL · TypeScriptGitHub @brudemiluOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Course platform from Ekballo Academy — built with Next.js 15, Supabase, and Vercel
AI translation
Plataforma de cursos da Ekballo Academy — Next.js 15 + Supabase + Vercel
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Famílias fortes. Discípulos maduros. Mais que encontros. Uma transformação. Na mesa somos formados pelo Espírito, somos enviados. Plataforma de cursos e discipulado da comunidade Ekballo. Construída com Next.js 15, Supabase e Tailwind. Hospedada gratuitamente na Vercel.Read the full README ↗
Famílias fortes. Discípulos maduros. Mais que encontros. Uma transformação. Na mesa somos formados pelo Espírito, somos enviados.
Plataforma de cursos e discipulado da comunidade Ekballo. Construída com Next.js 15, Supabase e Tailwind. Hospedada gratuitamente na Vercel.
/)/manifesto)/cadastro, /login)/dashboard)/cursos/[slug])/admin) com:
Tempo estimado: 30 a 45 minutos. Custo: R$ 0 nos planos gratuitos.
ekballo-academy), gere uma senha forte e selecione a região mais próxima (South America - São Paulo).supabase/migrations/001_initial_schema.sql e clique em Run. Deve aparecer "Success. No rows returned" (com avisos sobre criação de tabelas — isso é normal).https://abcdefgh.supabase.co)eyJ...)No seu computador, dentro da pasta do projeto, copie o arquivo de exemplo:
cp .env.example .env.local
Abra .env.local e preencha com os valores que copiou do Supabase:
NEXT_PUBLIC_SUPABASE_URL=https://seu-projeto.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbG...sua-chave
NEXT_PUBLIC_SITE_URL=http://localhost:3000
npm install
npm run dev
Abra http://localhost:3000. Você deve ver a landing.
Crie uma conta em /cadastro e confirme o e-mail (chega em segundos).
Para virar administrador, abra o Supabase → SQL Editor e rode:
update profiles set is_admin = true where email = '[email protected]';
Recarregue o site. Você verá o botão "Painel admin" no canto superior direito.
Crie um repositório novo em github.com/new (nome sugerido: ekballo-academy, pode ser privado).
No terminal, dentro da pasta do projeto:
# O git já está inicializado. Atualize com qualquer mudança e suba:
git add .
git commit -m "Primeiro commit — Ekballo Academy"
git branch -M main
git remote add origin https://github.com/SEU-USUARIO/ekballo-academy.git
git push -u origin main
Observação: o
.env.localestá no.gitignoree não será enviado ao GitHub — isso é correto, suas chaves do Supabase ficam só no seu computador e na Vercel.
ekballo-academy..env.local:
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYNEXT_PUBLIC_SITE_URL (deixe https://ekballo-academy.vercel.app por enquanto — você troca depois)NEXT_PUBLIC_SITE_URL com o domínio definitivo da Vercel.Para o e-mail de confirmação levar pro lugar certo:
https://ekballo-academy.vercel.app).https://ekballo-academy.vercel.app/auth/callback.Quando quiser usar academy.ekballo.com.br:
Por enquanto, cursos, aulas e atividades são criados direto no Supabase:
cursos → Insert row → preencha slug, titulo, descricao, marque publicado: true.aulas → Insert row → escolha o curso_id, preencha titulo, conteudo (texto puro, parágrafos separados por linha em branco), opcionalmente video_url (URL embed do YouTube ou Vimeo).atividades → Insert row → escolha o aula_id, escreva a pergunta reflexiva.Em uma próxima fase, podemos construir uma interface de admin para criar/editar tudo pela tela. Por enquanto, o Table Editor do Supabase já é bem confortável.
ekballo-academy/
├── app/ # rotas Next.js (App Router)
│ ├── page.tsx # landing
│ ├── manifesto/ # manifesto da mesa
│ ├── login/ # entrada
│ ├── cadastro/ # criação de conta
│ ├── auth/callback/ # confirmação de e-mail
│ ├── dashboard/ # área do aluno (lista de cursos)
│ ├── cursos/[slug]/ # página de curso
│ │ └── aulas/[aulaId]/ # página de aula com atividades
│ └── admin/ # painel pastoral
│ ├── page.tsx # dashboard admin
│ ├── respostas/ # banco de respostas
│ │ ├── [respostaId]/ # detalhe + comentário
│ │ └── exportar/ # CSV
│ ├── alunos/ # lista de discípulos
│ └── cursos/ # cursos + métricas
├── components/ # UI reutilizável
│ ├── Logo.tsx
│ ├── UserMenu.tsx
│ ├── AtividadeForm.tsx # formulário de resposta do aluno
│ ├── ComentarioForm.tsx # devolutiva do líder
│ └── MarcarConcluida.tsx
├── lib/
│ ├── supabase/ # clientes browser, server, middleware
│ └── types.ts
├── supabase/
│ └── migrations/
│ ├── 001_initial_schema.sql # banco base + RLS
│ ├── 002_multipla_escolha.sql
│ ├── 003_lock_security_definer.sql
│ ├── 004_curso_ego_transformado.sql # curso de partida
│ └── 005_remove_mesa_aberta.sql # remove seed antigo
├── middleware.ts # protege rotas e valida admin
├── tailwind.config.ts # paleta Ekballo (mesa + oliveira)
└── package.json
/admin/cursos (sem precisar abrir o Supabase)Dúvidas técnicas, ideias de evolução ou ajustes — me chame que continuamos a construção.