Este projeto tem como objetivo automatizar o registro de presença de alunos em salas de aula utilizando reconhecimento facial. A proposta nasceu de um projeto integrador acadêmico, com foco em reduzir a burocracia e aumentar a eficiência no controle de chamadas.
- Python 3.10
- Django (Framework web principal)
- Django REST Framework (APIs RESTful)
- Postgres (Banco de dados leve e local)
- face_recognition (Reconhecimento facial com dlib)
- pipenv (Gerenciador de pacotes )
- React 18 + Vite + TypeScript
- TailwindCSS (Estilização moderna)
- React Webcam API (Captura de imagem da câmera)
- Registro de entrada e saída via reconhecimento facial
- Captura de imagem por webcam em um tablet ou notebook
- Exibição de grid com presença do dia (nome, RA, entrada, saída)
- Relatório diário automático por e-mail com a presença dos alunos de suas aulas
- Cadastro de alunos com nome, RA, e-mail e imagem facial
- Cadastro de professores e sua grade semanal de aulas
- Visualização de todas as presenças registradas
- Cadastro de Aluno: Envia a imagem base64 para o backend, que processa os embeddings e armazena no banco.
- Registro de Ponto: O aluno informa o RA, tira uma selfie. O backend compara com os embeddings e registra a entrada ou saída, conforme o caso.
- Relatório: O backend consulta as aulas do dia e envia por e-mail ao professor um relatório com a lista de alunos presentes.
- Python 3.10+
- Node.js 18+
- Pipenv
- Vite
- Git
cd Backend
pipenv install
pipenv shell
python manage.py migrate
python manage.py runservercd Frontend
npm install
npm run devid: UUIDnomeemailrafoto_base64embeddings
id: UUIDnomeemail
id: UUIDprofessor_id: FKdia_semanahorario_iniciohorario_fimdisciplina
id: UUIDaluno_id: FKdatahora_entradahora_saidareconhecido_poraula_id: FK
| Método | Rota | Descrição |
|---|---|---|
| POST | /ponto/ |
Registro de ponto com imagem base64 |
| POST | /alunos/ |
Cadastro de aluno com imagem base64 |
| GET | /relatorio-diario/ |
Envia e-mail com presença da aula |
| GET | /presenca/:id_professor |
Envia e-mail com presença da aula |
- Utiliza
smtplib(ousend_maildo Django) para envio automático. - E-mail disparado com lista de alunos presentes após o fim da aula.
- Formato legível com nome, RA, horário de entrada e saída.
- Ryan Fonseca Rodrigues – Líder de desenvolvimento e integração
- Eduarda Alves Ribeiro
- Isadora de Araujo Viegas
- Lucas Maciel Campos
- Pedro Otavio Lopes
✅ Cadastro de alunos com imagem base64
✅ Reconhecimento facial com entrada/saída
✅ Grade horária de aulas
🚧 Relatório automático por e-mail
🚧 Painel administrativo completo (em desenvolvimento)
Projeto acadêmico de uso educacional. Direitos reservados aos autores do projeto. Não distribuir sem autorização.