ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Chamada diária, saídas antecipadas e indicadores da escola para a direção e a coordenação.
Translation pending
EducationTypeScript · JavaScriptGitHub @eemtijcaOnlineOwner 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
Aplicativo da coordenação escolar: chamada única diária, saídas antecipadas, indicadores de infrequência e relatórios, instalável como PWA.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
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.Read the full 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. |