ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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. |