ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
SkillsetMind is where psychologists, coaches, facilitators, and other verified personal-development professionals publish courses with private communities, live sessions, and verifiable certificates.
EducationTypeScript · PLpgSQLGitHub @SkillsetMind-appOnlineOwner 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
Skillset platform foundation: Next.js, Firebase, Teacher Studio, Student Portal, Stripe, and trust operations.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Skillset Foundation
Multi-page product shell for Skillset
Version: 0.1.0
Updated: 2026-04-20
This repository is no longer treated as a one-page Firebase prototype.
It now contains the first real application shell for Skillset, organized as a multi-page product with separate surfaces for:
The project was reshaped into a route-based application instead of a single landing page.Read the full README ↗SkillsetMind is an online course platform for psychologists, coaches and personal-development professionals: creators build and sell courses, learners buy and watch them on the same site.
src/app/courses), student (src/app/learn), teacher (src/app/teach) and operations (src/app/ops).npm ci, copy .env.example to .env.local with test values, npm run dev.main. Database migrations are applied by hand, never by merging.docs/COMO-TRABALHAR.md (onboarding), docs/ARQUITETURA.md (system map), docs/README.md (index). This file and the first two open with an English summary; the rest is in Portuguese.A SkillsetMind é uma plataforma de cursos on-line para psicólogos e profissionais de desenvolvimento pessoal: quem ensina monta e vende os cursos, quem aprende compra e assiste, tudo no mesmo site (https://www.skillsetmind.com).
Este repositório guarda o código do site inteiro. Ele é público: não coloque aqui chave, senha, dado de cliente nem estratégia da empresa.
| Área | Para quem | Onde fica o código |
|---|---|---|
| Visitante | Quem ainda não entrou: página inicial, catálogo de cursos, página de cada professor, preços, ajuda, termos | src/app/page.tsx, src/app/courses, src/app/instructors, src/app/legal |
| Aluno | Quem comprou: sala de aula, comunidade, certificados, mensagens | src/app/learn |
| Professor | Quem vende: criação de curso, vitrine, vendas, alunos, cupons, relatórios | src/app/teach |
| Operações | A equipe da plataforma: usuários, papéis, fila de pendências | src/app/ops |
A conta de cada pessoa (perfil, segurança, planos, pagamentos) fica em
src/app/account e serve às quatro áreas. O mapa completo está em
docs/ARQUITETURA.md.
src/app/api).Você precisa do Node.js (o programa que roda JavaScript fora do navegador) na
versão do arquivo .nvmrc, e de acesso a um projeto Supabase de teste.
Instale as dependências (as bibliotecas que o projeto usa), exatamente como o CI: npm ci
Copie .env.example para .env.local e preencha os valores. O .env.local
nunca vai para o git. Os nomes mais importantes:
NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEYSTRIPE_SECRET_KEY, NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY, STRIPE_WEBHOOK_SECRET, STRIPE_CONNECT_WEBHOOK_SECRETBUNNY_STREAM_API_KEY, BUNNY_STREAM_TOKEN_KEY, NEXT_PUBLIC_BUNNY_STREAM_LIBRARY_IDRESEND_API_KEYCRON_SECRETA lista completa, com o que cada um faz, está no próprio .env.example.
Regra: valor secreto nunca leva o prefixo NEXT_PUBLIC_ (esse prefixo
manda o valor para o navegador de qualquer visitante).
Suba o site: npm run dev e abra http://localhost:3000.
Comandos de conferência (os mesmos que o robô roda):
| Comando | O que faz |
|---|---|
npm run lint | procura erros de estilo e descuidos no código |
npx tsc --noEmit | confere os tipos (se cada dado tem o formato esperado) |
npm test | roda os testes automáticos (Vitest) |
npm run build | monta o site como em produção |
npm run test:db | roda os testes de segurança do banco num banco descartável (veja scripts/build-test-db.sh; nunca aponte para produção) |
Em máquina com pouca memória, rode um arquivo de teste por vez:
npx vitest run src/app/documentacao-caminhos.test.ts --pool=forks --maxWorkers=1.
Rascunho: crie uma branch (uma cópia paralela do código) a partir de main. Nunca mexa direto na main.
Salvar: faça commits (cada commit é um "salvar" com descrição do que mudou).
Pedido de revisão: abra um pull request (PR), o pedido para juntar a branch na main.
Revisão: uma pessoa lê a mudança. O Porteiro de PR (uma IA que lê o diff procurando brechas de segurança) comenta um placar no PR; ele avisa, mas não bloqueia.
Conferências automáticas: o GitHub só deixa juntar se estes 5 checks passarem:
Lint, typecheck, test, build — estilo, tipos, testes e montagem (.github/workflows/ci.yml);RLS smoke tests (banco efêmero) — testa as regras de acesso do banco num banco descartável (.github/workflows/ci.yml);Semgrep SAST — procura padrões de código inseguro (.github/workflows/security.yml);TruffleHog secrets scan — procura chave ou senha vazada no código (.github/workflows/security.yml);npm audit (high+) — procura bibliotecas com falha de segurança grave conhecida (.github/workflows/security.yml).A Vercel também monta uma prévia do site para cada PR.
Juntar: com tudo verde, o PR é mesclado na main.
Publicar: a Vercel percebe a mudança na main e publica sozinha em produção.
Mudança no banco de dados (uma migration) é a exceção: ela não é aplicada
sozinha. Veja "Banco de dados" em docs/ARQUITETURA.md.
README.md — este arquivo: o que é e como trabalhar.docs/COMO-TRABALHAR.md — guia de entrada para um time novo de desenvolvimento: acessos, ambiente, fluxo, convenções, migrations e o que não fazer.docs/ARQUITETURA.md — o mapa do sistema: onde fica cada parte e como elas se ligam.docs/README.md — índice de tudo o que existe em docs/.AGENTS.md — regras que já custaram defeito em produção; leitura obrigatória antes de mexer em tela.STRIPE_CHECKLIST.md — passo a passo para configurar o Stripe.O teste src/app/documentacao-caminhos.test.ts confere que todo caminho citado
entre crases neste README, em docs/ARQUITETURA.md, em docs/README.md e em
docs/COMO-TRABALHAR.md existe de verdade. Se você mover um arquivo, atualize o documento junto.