프로젝트 소개

Smart Attendance System은 로컬 얼굴 인식 출석 애플리케이션입니다. 수동 출석 체크를 대체하기 위해 React Native 모바일 인터페이스와 FastAPI Python 백엔드를 결합했습니다. 모바일 앱은 Expo Camera를 사용하여 학생의 얼굴을 캡처하며, 백엔드는 OpenCV의 LBPH 얼굴 인식기를 통해 이를 처리합니다. 일치하는 출석 정보는 매개변수화된 쿼리를 사용하여 로컬 SQLite 데이터베이스에 타임스탬프와 함께 기록됩니다. 핵심 기능으로는 OpenCV의 LBPHFaceRecognizer를 통한 실시간 얼굴 인식, 자동 데이터 로깅, 그리고 학급 통계, 출석률, 최근 스캔 로그를 보여주는 모바일 대시보드가 포함됩니다. 프론트엔드는 React Native, Expo, Expo Camera, Expo FileSystem을 사용합니다. 백엔드는 Python, FastAPI, Uvicorn, python-multipart를 사용합니다. 컴퓨터 비전은 opencv-contrib-python 및 Haar Cascades에 의존하며, SQLite3가 출석 데이터를 저장합니다. 이 프로젝트는 네이티브 네트워크 처리에 유의합니다. React Native Android FormData의 제한 사항을 해결하기 위해 expo-file-system을 사용하며, 로컬 네트워크 통신을 위해 로컬 cleartext http 트래픽을 명시적으로 허용합니다. 필수 요구 사항으로는 Python 3.10+, Node.js 및 npm, Expo CLI, 그리고 테스트 및 스캔을 위한 실제 Android 기기가 필요합니다. 백엔드 설정은 프로젝트 루트에서 Python 가상 환경을 생성하는 것으로 시작합니다.