About this project

Smart Attendance System is a local facial recognition attendance application. It combines a React Native mobile interface with a FastAPI Python backend to replace manual roll calls. The mobile app captures student faces using Expo Camera, and the backend processes them against an LBPH face recognizer from OpenCV. Matched attendance is logged with timestamps into a local SQLite database using parameterized queries. Core features include real-time facial recognition through OpenCV's LBPHFaceRecognizer, automated data logging, and a mobile dashboard showing class statistics, attendance percentages, and recent scan logs. The frontend uses React Native, Expo, Expo Camera, and Expo FileSystem. The backend uses Python, FastAPI, Uvicorn, and python-multipart. Computer vision relies on opencv-contrib-python and Haar Cascades, while SQLite3 stores attendance data. The project notes native network handling: it uses expo-file-system to work around React Native Android FormData limitations and explicitly enables local cleartext http traffic for communication on the local network. Prerequisites include Python 3.10+, Node.js and npm, Expo CLI, and a physical Android device for testing and scanning. Backend setup begins by creating a Python virtual environment in the project root.