ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Marketplace de aulas particulares avulsas sob demanda: o aluno busca um professor, paga com segurança e entra direto numa aula por vídeo — sem mensalidade. O pagamento fica retido em escrow on-chain na Solana (devnet) até a aula ser confirmada como concluída, e só então é liberado ao professor. Construído para a Trilha Solana do Hackathon Solana & Cursor — Passo Fundo.查看完整 README ↗
Marketplace de aulas particulares avulsas sob demanda: o aluno busca um professor, paga com segurança e entra direto numa aula por vídeo — sem mensalidade. O pagamento fica retido em escrow on-chain na Solana (devnet) até a aula ser confirmada como concluída, e só então é liberado ao professor.
Construído para a Trilha Solana do Hackathon Solana & Cursor — Passo Fundo.
Live: https://edtechoficial.vercel.app
dark: via classe), tokens de cor próprios@solana/web3.js + @solana/wallet-adapter-react (Phantom/Solflare)Não existe programa on-chain próprio (deploy de um programa Anchor exigiria
toolchain de Rust que não coube no prazo) — o fluxo usa transferências reais
de SOL via SystemProgram, o que já demonstra o uso genuíno da stack Solana:
lib/solana/vault.ts, chave privada só no servidor). Transação real,
verificável no Solana Explorer.app/api/escrow/release/route.ts).signature real, exibido na UI com link direto
pro Explorer (?cluster=devnet).Ver também app/demo-aula — uma demonstração isolada do escrow, fora do fluxo
de agendamento, útil pra testar rapidamente sem precisar de um professor
publicado.
app/
page.tsx landing page (pt/en)
login/ login/cadastro (email+senha, Google OAuth)
auth/callback/ troca o código OAuth por sessão
sucesso/ tela de transição pós-login (~1s) → /app
demo-aula/ demo isolada do escrow Solana
app/ área logada (dashboard, calendário, chat, perfil...)
page.tsx dashboard: grade de professores (reais + demo)
professor/[id]/ perfil público do professor + agendar aula
publicar/ professor publica seu perfil (aparece no dashboard)
calendario/ agenda real (aulas marcadas + eventos manuais)
aulas/ aulas passadas + avaliação
chat/ chat com professores (mock, sem persistência ainda)
ganhos/ professor: total recebido, gráfico, avaliações
perfil/ conta, tema, idioma, dados profissionais (CPF/CEP)
api/escrow/release/ libera o pagamento retido (assinado pelo cofre)
components/
solana/ wallet provider, demo de escrow
app/ shell da área logada (sidebar, topbar, calendário...)
landing/ seções da landing page
ui/ primitivos (Button, Card, Input...)
lib/
supabase/ clients (browser/server)
solana/ conexão devnet, carteira-cofre
i18n/ dicionário PT/EN + leitura do cookie no servidor
professors.ts mescla professores mockados + reais (professor_profiles)
supabase/*.sql migrações — rodar uma vez no SQL Editor (veja abaixo)
npm install
cp .env.local.example .env.local # preencha com suas chaves (Supabase + Solana)
npm run dev
Abre em http://localhost:3000
No dashboard do Supabase (Settings > API):
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEYSolana (gere com node scripts/generate-vault-keypair.mjs):
SOLANA_VAULT_SECRET_KEY — chave privada do cofre (nunca NEXT_PUBLIC_)NEXT_PUBLIC_SOLANA_VAULT_ADDRESS — endereço público do cofreCole no .env.local (local) e em Vercel > Settings > Environment Variables.
Depois de mudar na Vercel, é preciso Redeploy.
Nesta ordem:
supabase/avatars-bucket.sql — bucket de foto de perfilsupabase/publish-profile.sql — tabela professor_profiles + bucket de diplomasupabase/calendar-earnings-reviews.sql — tabelas calendar_events, payments, reviewshttps://faucet.solana.com → cole o endereço de NEXT_PUBLIC_SOLANA_VAULT_ADDRESS → devnet.
https://SEU-PROJETO.supabase.co/auth/v1/callback./login → cadastro como Professor → completa dados profissionais (CPF/CEP,
ou "ID/Postal code" genérico se o idioma estiver em inglês) → /app/publicar./app/ganhos: valor recebido, gráfico e a avaliação./app/calendario.