Sobre o projeto

O Smart Attendance System é uma aplicação local de presença por reconhecimento facial. Ele combina uma interface móvel em React Native com um backend Python em FastAPI para substituir a chamada manual. O app móvel captura os rostos dos alunos usando o Expo Camera, e o backend os processa contra um reconhecedor facial LBPH do OpenCV. A presença correspondente é registrada com timestamps em um banco de dados SQLite local usando consultas parametrizadas. Os recursos principais incluem reconhecimento facial em tempo real através do LBPHFaceRecognizer do OpenCV, registro automatizado de dados e um painel móvel que exibe estatísticas da turma, porcentagens de presença e logs de digitalizações recentes. O frontend utiliza React Native, Expo, Expo Camera e Expo FileSystem. O backend utiliza Python, FastAPI, Uvicorn e python-multipart. A visão computacional baseia-se em opencv-contrib-python e Haar Cascades, enquanto o SQLite3 armazena os dados de presença. O projeto observa o manuseio de rede nativo: utiliza o expo-file-system para contornar as limitações de FormData do React Native no Android e habilita explicitamente o tráfego http de texto simples local para comunicação na rede local. Os pré-requisitos incluem Python 3.10+, Node.js e npm, Expo CLI e um dispositivo Android físico para testes e digitalização. A configuração do backend começa com a criação de um ambiente virtual Python na raiz do projeto.