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.
翻译准备中
教育TypeScript · PLpgSQLGitHub @SkillsetMind-app在线运营者未确认
试用过了吗? 点一下就好,无需登录。
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Skillset platform foundation: Next.js, Firebase, Teacher Studio, Student Portal, Stripe, and trust operations.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
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.查看完整 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.