ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
SaaS de preparação para a 1ª fase do Exame da OAB — estude só o que você precisa pra passar. O AprovaOAB parte de um diagnóstico do candidato e monta a preparação em cima dos erros dele: o treino redistribui as questões para as matérias onde ele mais perde pontos, a agenda de estudos se encaixa na disponibilidade real da semana e o desempenho fica visível por matéria — menos volume cego, mais direção.檢視完整 README ↗
SaaS de preparação para a 1ª fase do Exame da OAB — estude só o que você precisa pra passar.
🔗 No ar em produção: aprovaoab.app.br
O AprovaOAB parte de um diagnóstico do candidato e monta a preparação em cima dos erros dele: o treino redistribui as questões para as matérias onde ele mais perde pontos, a agenda de estudos se encaixa na disponibilidade real da semana e o desempenho fica visível por matéria — menos volume cego, mais direção.
É um produto em produção, com assinantes reais: modelo freemium (plano Grátis com 10 questões/dia; plano Pro com questões ilimitadas e simulados completos), pagamentos recorrentes via Stripe e deploy contínuo na Vercel.
Projeto solo: produto, código, conteúdo e operação.
Dashboard — visão geral do progresso, próxima ação recomendada e matérias em risco
Simulados — réplica fiel da prova: 80 questões em 5 horas, histórico e análise
Treino Estratégico — sessões montadas pelos erros do aluno (~70% nas matérias mais fracas)
Desempenho — evolução das notas e disciplinas em risco por banda
Agenda inteligente — semana de estudos gerada automaticamente pelo desempenho
Newsletter Café com OAB — edição semanal com dados reais da plataforma: termômetro de erros, questão comentada da FGV e notícia verificada da semana
| Camada | Tecnologia |
|---|---|
| Framework | Next.js 16 (App Router) + React 19 + TypeScript |
| Banco e Auth | Supabase (Postgres com Row Level Security + Auth) |
| Pagamentos | Stripe (assinaturas + webhooks) |
| UI | Tailwind CSS v4 + shadcn/ui (Radix) + Recharts |
| Resend (transacional e broadcasts) | |
| Infra | Vercel (deploy contínuo), Upstash (rate limiting), Sentry (monitoramento) |
Segurança em camadas. Todo acesso a dados passa por RLS no Postgres; a service
role key do Supabase só existe em código server-side, atrás dos guards
requireUser()/requireAdmin() que protegem todas as rotas de API. Páginas públicas
projetam explicitamente apenas os campos que podem ir ao HTML.
Stripe como fonte única da assinatura. O plano do usuário é atualizado exclusivamente pelo webhook do Stripe, com validação de assinatura do evento — o cliente nunca escreve o próprio plano. O limite diário do plano grátis tem defesa em dupla camada: verificação na API e trigger atômico no banco.
Treino que aprende com o erro. O algoritmo agrega o desempenho por matéria (priorizando dados de simulado, que são a medição limpa), seleciona as 3 matérias de maior risco e monta a sessão 70/30 com fallbacks para quem ainda tem pouco histórico.
Timezone tratado de verdade. Timestamps UTC naive do Postgres passam por um módulo
central de datas (lib/datas.ts) que parseia, formata e agrupa tudo no fuso de
Brasília — evitando a clássica diferença de 3h entre servidor e navegador.
Integração Google Calendar com criptografia. Tokens OAuth são criptografados com AES-256-GCM antes de tocar o banco, com refresh automático; a sincronização é best-effort e nunca bloqueia o fluxo do aluno.
SEO programático. Mais de 200 páginas públicas de questões geradas estaticamente (SSG) no build, com Open Graph dinâmico por página.
app/
api/ rotas de API (auth, Stripe, treino, agenda, admin…)
dashboard/ área logada: questões, simulados, treino, agenda, desempenho
admin/ painel administrativo
questoes/ páginas públicas de questões (SSG)
components/ UI (shadcn/ui) + seções da landing
lib/ clientes Supabase/Stripe, datas/timezone, métricas, serviços
O projeto depende de serviços externos próprios (Supabase, Stripe, Google OAuth, Resend). Com os projetos provisionados:
npm install
# criar .env.local com as variáveis abaixo
npm run dev # localhost:3000
Variáveis de ambiente: NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY,
SUPABASE_SERVICE_ROLE_KEY, STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET,
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY, STRIPE_PRICE_PRO, GOOGLE_CLIENT_ID,
GOOGLE_CLIENT_SECRET, TOKEN_ENCRYPTION_KEY, NEXT_PUBLIC_APP_URL.
Este repositório é público como portfólio. O AprovaOAB é um produto comercial em produção — o código não está licenciado para uso, cópia ou redistribuição. Todos os direitos reservados.
Pedro Nunes — GitHub · aprovaoab.app.br