ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Aplicativo da coordenação escolar: chamada única diária, saídas antecipadas, indicadores de infrequência e relatórios, instalável como PWA.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Aplicativo da coordenação escolar: chamada única diária, saídas antecipadas e indicadores da escola. Mobile-first, sem ruído e com o menor número de toques possível entre abrir o app e ter a chamada salva. Aplicação publicada em https://frequenciappjca.vercel.app.查看完整 README ↗
Aplicativo da coordenação escolar: chamada única diária, saídas antecipadas e indicadores da escola. Mobile-first, sem ruído e com o menor número de toques possível entre abrir o app e ter a chamada salva.
Aplicação publicada em https://frequenciappjca.vercel.app.
O fluxo segue a prática da coordenação: escolha a turma e o dia, todos começam presentes, toque apenas nos alunos que faltaram, escolha a justificativa quando houver e salve. O Painel mostra a infrequência do dia por série e por turma, a área Saídas e entradas registra quem saiu ou chegou mais tarde com justificativa e quem liberou, e os Relatórios reúnem histórico, grade por período e o resumo por aluno.
A aplicação publicada fica em https://frequenciappjca.vercel.app. Para experimentar localmente com dados sintéticos, siga a seção Começando: o Compose cria o administrador e a semente gera séries, turmas, alunos e alguns dias de chamadas e saídas.
DATABASE_URL e conexão do CLI em DIRECT_URL, com adaptador oficial pg.cp .env.example .env
# Gere o segredo da sessão e cole no .env:
# openssl rand -base64 32
docker compose up --build
O Compose sobe o PostgreSQL 17, aplica as migrações na partida e inicia o aplicativo em http://localhost:3000. O administrador inicial (primeiro usuário, acesso root de configuração) pode ser criado na partida: basta preencher ADMIN_EMAIL, ADMIN_SENHA e ADMIN_NOME no .env. O bootstrap não altera uma conta que já exista, então reiniciar o contêiner não regrava a senha. Para criar ou trocar a senha depois, rode o comando que sempre aplica os valores:
[email protected] ADMIN_SENHA='uma senha forte' ADMIN_NOME='Direção' \
docker compose exec app pnpm run criar-admin
Com o administrador no dispositivo, o restante (contas da equipe, séries, turmas, aulas e alunos) é configurado pela área de Gestão, sem comandos. Para experimentar com dados sintéticos (nenhum dado real de pessoa), crie também a conta de coordenação de demonstração e aplique a semente, que simula um ano letivo com nove turmas, 35 a 50 alunos por turma, chamadas, faltas, saídas, entradas, parciais e diretores de turma de exemplo:
[email protected] CONTA_SENHA='outra senha forte' CONTA_NOME='Equipe' \
docker compose exec app pnpm run criar-coordenacao
docker compose exec app pnpm run seed
A semente é determinística, idempotente e sem dados reais. Ajuste o volume com SEED_PERFIL=leve|padrao|pesado, SEED_ALUNOS, SEED_DIAS, SEED_ANO e SEED_SEMENTE; pnpm run seed:limpar remove apenas o que ela criou. Os diretores de exemplo entram com diretor.1a e diretor.2b.
Instruções sem Docker, variáveis de ambiente e demais detalhes em docs/ambiente.md. Publicação em docs/deploy.md.
As variáveis são validadas na partida. As principais:
| Variável | Papel |
|---|---|
DATABASE_URL | Conexão de runtime, com pooler de transação em ambientes serverless. |
DIRECT_URL | Conexão de sessão para CLI e migrações em banco gerenciado. |
AUTH_SECRET | Segredo das sessões e da derivação do par de notificações. |
TZ_APP | Fuso usado para resolver o dia corrente e os rótulos de datas. |
PERMITIR_HTTP | Aceita HTTP sem TLS em rede confiável; padrão false. |
GOOGLE_* | Integração opcional com as planilhas pela Sheets API. |
PUSH_VAPID_* | Par de chaves das notificações Web Push. |
A referência completa está em docs/ambiente.md.
Aplicação Next.js única, com o aplicativo inteiro em / e as visões trocadas localmente. A integração com o Google é opcional e desligada por padrão.
flowchart LR
C[Coordenação] -->|PWA instalável| A[Aplicação Next.js]
D[Direção] -->|Painel e relatórios| A
A -->|Prisma| P[(PostgreSQL)]
A -.->|Sheets API opcional| G[Google Planilhas]
A -->|Web Push| N[Navegador]
As camadas, o fluxo de requisição e as decisões registradas estão em docs/arquitetura.md e docs/adr/.
| Comando | Efeito |
|---|---|
pnpm run format:check | Prettier em modo verificação. |
pnpm run lint | ESLint com regras estritas. |
pnpm run tsc | Verificação de tipos sem emissão. |
pnpm run test:unit | Testes de unidade e guarda editorial. |
pnpm run test:api | Contratos de API com o aplicativo no ar. |
pnpm run test:e2e:docker | Ponta a ponta na imagem oficial, com o aplicativo no ar. |
pnpm run test:pwa:docker | PWA contra o build de produção. |
pnpm run capturas:readme | Regenera as capturas do README em docs/imagens/. |
A convenção das suítes está em docs/testes.md e tests/README.md.
O build da Vercel apenas gera o cliente Prisma; as migrações são aplicadas pelo workflow de migrações na main ou manualmente com pnpm run db:deploy. A agenda de notificações usa o CRON_SECRET. As demais formas de publicação estão em docs/deploy.md e a implantação em AWS, Azure ou GCP com Terraform está em docs/implantacao-nuvem.md.
O aplicativo registra cadastro escolar, frequência e os registros operacionais necessários, incluindo presença parcial e autoria da confirmação manual da Seduc. A integração opcional com Google Planilhas, desligada por padrão, envia os campos de cada finalidade aos arquivos escolhidos pela escola. A confirmação manual não transmite dados ao sistema da Seduc. O repositório não contém dados reais de pessoas; a semente de desenvolvimento usa apenas nomes sintéticos. Detalhes e orientações em docs/lgpd.md.
Vulnerabilidades são reportadas em issue privada ou security advisory, nunca em issue pública. A autenticação usa scrypt e sessões opacas revogáveis, com cabeçalhos de segurança e verificação de origem. Os controles estão em docs/seguranca.md e a política de reporte em SECURITY.md.
As próximas mudanças são discutidas nas issues do repositório e registradas no CHANGELOG.md.
O FrequenciApp é gratuito? Sim, é de código aberto sob licença MIT.
Quem pode usar? A coordenação e a direção da escola. As contas são criadas pela administração, sem cadastro público.
Funciona instalado no celular? Sim. O aplicativo é um PWA instalável, com atalhos para Chamada e Painel, aviso de conexão e atualização com um toque.
A planilha Google é obrigatória? Não. A integração é opcional e desligada por padrão; sem ela, tudo funciona pelo aplicativo.
Duas pessoas podem salvar a mesma chamada? A chamada é compartilhada pela coordenação. O salvamento de outro dispositivo é recusado com aviso, em vez de sobrescrever o registro.
Onde reporto um problema? Em uma issue no GitHub. Vulnerabilidades seguem o SECURITY.md.
| Documento | Conteúdo |
|---|---|
| docs/arquitetura.md | Camadas, fluxo de requisição e organização. |
| docs/ambiente.md | Variáveis de ambiente e execução local. |
| docs/banco.md | Esquema, migrações e rotinas de banco. |
| docs/modelo-de-dados.md | Entidades e regras de frequência. |
| docs/api.md | Contratos das rotas HTTP e Swagger UI em /api/docs. |
| docs/interface.md | Decisões de interface, movimento e acessibilidade. |
| docs/planilha.md | Integração opcional com Google Planilhas. |
| docs/testes.md | Suítes, convenções e cobertura. |
| docs/deploy.md | Docker Compose, Vercel e outras formas. |
| docs/implantacao-nuvem.md | AWS, Azure e GCP com Terraform. |
| docs/seguranca.md |
Leia o CONTRIBUTING.md antes de propor mudanças. Issues e pull requests usam etiquetas de tipo e de área, commits atômicos em um único pull request e abertura somente com o trabalho finalizado. Agentes de IA seguem o AGENTS.md.
Dúvidas e problemas são bem-vindos nas issues do repositório. Para vulnerabilidades, use o canal privado descrito no SECURITY.md.
Projeto mantido pela equipe do FrequenciApp na EEMTI José Cláudio de Araújo.
O FrequenciApp pode ser citado em trabalhos, relatórios e pesquisas. Os metadados oficiais ficam em CITATION.cff. O GitHub lê esse arquivo e oferece o botão Cite this repository, com as versões em APA e BibTeX; as versões em ABNT e RIS estão abaixo.
EEMTI JOSÉ CLÁUDIO DE ARAÚJO. FrequenciApp: aplicativo de frequência escolar. Versão 0.1.0. [S. l.], 2026. Disponível em: https://github.com/eemtijca/frequenciapp. Acesso em: 27 out. 2026.
No texto, use (EEMTI JOSÉ CLÁUDIO DE ARAÚJO, 2026).
EEMTI José Cláudio de Araújo. (2026). FrequenciApp (Versão 0.1.0) [Computer software]. https://github.com/eemtijca/frequenciapp
No texto, use (EEMTI José Cláudio de Araújo, 2026).
@software{EEMTI_Jose_Claudio_de_Araujo_FrequenciApp_2026,
author = {{EEMTI José Cláudio de Araújo}},
license = {MIT},
month = {9},
title = {{FrequenciApp}},
url = {https://github.com/eemtijca/frequenciapp},
version = {0.1.0},
year = {2026}
}
TY - COMP
AU - EEMTI José Cláudio de Araújo
TI - FrequenciApp: aplicativo de frequência escolar
PY - 2026
ET - Versão 0.1.0
UR - https://github.com/eemtijca/frequenciapp
ER -
A data de acesso da ABNT deve ser a do dia da consulta.
| Autenticação, sessões, CSRF, papéis e cabeçalhos. |
| docs/lgpd.md | Dados tratados, minimização e direitos. |
| docs/operacao.md | Backup, restauração e rotinas do operador. |
| docs/adr/001-postgresql-com-prisma.md e seguintes | Decisões de arquitetura registradas. |
| CONTRIBUTING.md | Como preparar o ambiente e propor mudanças. |
| SECURITY.md | Como reportar vulnerabilidades. |
| CHANGELOG.md | Histórico de mudanças do projeto. |