From 56858105084f8b425be7909b5814cb2d7a5b9aff Mon Sep 17 00:00:00 2001 From: Joseph Date: Fri, 25 Apr 2025 15:31:43 +0700 Subject: [PATCH] update logic --- main.py | 97 ++++++++++++++++++++------- models.py | 14 +++- static/face-removebg-preview.png | Bin 0 -> 101321 bytes static/index.html | 108 ++++++++++++++++++++++++------- uploads/checkin.jpg | Bin 33164 -> 163092 bytes uploads/frame.jpg | Bin 30947 -> 32563 bytes 6 files changed, 169 insertions(+), 50 deletions(-) create mode 100644 static/face-removebg-preview.png diff --git a/main.py b/main.py index c6ef026..f7263fe 100644 --- a/main.py +++ b/main.py @@ -8,7 +8,7 @@ import datetime from fastapi.staticfiles import StaticFiles from fastapi.responses import FileResponse from database import SessionLocal, engine -from models import Base, Student, CheckInLog +from models import Base, Student, CheckInLog, StudentEncoding from sqlalchemy.exc import IntegrityError from sqlalchemy import text @@ -39,9 +39,6 @@ async def register_face(name: str = Form(...),email: str = Form(...),file: Uploa text("SELECT id FROM students WHERE email = :email"), {"email": email} ).fetchone() - if existing: - db.close() - raise HTTPException(status_code=400, detail="Email đã được đăng ký.") # Save image image_data = await file.read() @@ -60,12 +57,34 @@ async def register_face(name: str = Form(...),email: str = Form(...),file: Uploa encoding_bytes = encodings[0].tobytes() try: - db.execute( - text("INSERT INTO students (name, email, encoding) VALUES (:name, :email, :encoding)"), - {"name": name, "email": email, "encoding": encoding_bytes} - ) - db.commit() - return {"message": "Đăng ký thành công."} + if existing: + # Email exists, just add new encoding + student_id = existing[0] + db.execute( + text("INSERT INTO student_encodings (student_id, encoding) VALUES (:student_id, :encoding)"), + {"student_id": student_id, "encoding": encoding_bytes} + ) + db.commit() + return {"message": "Đã thêm encoding mới cho sinh viên."} + else: + # Email doesn't exist, create new student + db.execute( + text("INSERT INTO students (name, email) VALUES (:name, :email)"), + {"name": name, "email": email} + ) + db.commit() + + # Get the last inserted id + result = db.execute(text("SELECT LAST_INSERT_ID()")).fetchone() + student_id = result[0] + + # Insert encoding + db.execute( + text("INSERT INTO student_encodings (student_id, encoding) VALUES (:student_id, :encoding)"), + {"student_id": student_id, "encoding": encoding_bytes} + ) + db.commit() + return {"message": "Đăng ký thành công."} except IntegrityError: db.rollback() raise HTTPException(status_code=400, detail="Email đã tồn tại.") @@ -87,34 +106,66 @@ async def checkin(file: UploadFile = File(...), camera_id: str = Form("cam1"), d unknown_encoding = unknown_encodings[0] - students = db.query(Student).all() - for student in students: - known_encoding = np.frombuffer(student.encoding) + # Get all encodings with student info + encodings = db.execute( + text(""" + SELECT s.id, s.name, se.encoding + FROM student_encodings se + JOIN students s ON s.id = se.student_id + """) + ).fetchall() + + for encoding in encodings: + known_encoding = np.frombuffer(encoding.encoding) result = face_recognition.compare_faces([known_encoding], unknown_encoding, tolerance=0.5) if result[0]: now = datetime.datetime.now() - recent_check = db.query(CheckInLog).filter( - CheckInLog.student_id == student.id, - CheckInLog.time > now - datetime.timedelta(minutes=5) - ).first() + recent_check = db.execute( + text(""" + SELECT id FROM checkin_logs + WHERE student_id = :student_id + AND time > :time_threshold + """), + { + "student_id": encoding.id, + "time_threshold": now - datetime.timedelta(minutes=5) + } + ).fetchone() if recent_check: - return {"message": f"{student.name} already checked in recently."} + return {"message": f"{encoding.name} already checked in recently."} - log = CheckInLog(student_id=student.id, time=now, camera_id=camera_id) - db.add(log) + db.execute( + text(""" + INSERT INTO checkin_logs (student_id, time, camera_id) + VALUES (:student_id, :time, :camera_id) + """), + { + "student_id": encoding.id, + "time": now, + "camera_id": camera_id + } + ) db.commit() - return {"message": f"Check-in successful for {student.name}"} + return {"message": f"Check-in successful for {encoding.name}"} return {"message": "No match found."} @app.get("/logs") def get_logs(db: Session = Depends(get_db)): - logs = db.query(CheckInLog).all() + logs = db.execute( + text(""" + SELECT s.name, cl.time, cl.camera_id + FROM checkin_logs cl + JOIN students s ON cl.student_id = s.id + ORDER BY cl.time DESC + """) + ).fetchall() + result = [] for log in logs: result.append({ - "name": log.student.name, + "name": log.name, "time": log.time.strftime("%Y-%m-%d %H:%M:%S"), "camera_id": log.camera_id }) diff --git a/models.py b/models.py index e0c71aa..c94b127 100644 --- a/models.py +++ b/models.py @@ -6,16 +6,24 @@ import datetime class Student(Base): __tablename__ = "students" - __tablename__ = "students" - id = Column(Integer, primary_key=True, index=True) name = Column(String(100), nullable=False) email = Column(String(100), nullable=False, unique=True, index=True) - encoding = Column(LargeBinary, nullable=False) __table_args__ = (UniqueConstraint('email', name='uq_student_email'),) checkins = relationship("CheckInLog", back_populates="student") + encodings = relationship("StudentEncoding", back_populates="student") + +class StudentEncoding(Base): + __tablename__ = "student_encodings" + + id = Column(Integer, primary_key=True, index=True) + student_id = Column(Integer, ForeignKey("students.id")) + encoding = Column(LargeBinary, nullable=False) + created_at = Column(DateTime, default=datetime.datetime.utcnow) + + student = relationship("Student", back_populates="encodings") class CheckInLog(Base): __tablename__ = "checkin_logs" diff --git a/static/face-removebg-preview.png b/static/face-removebg-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..f98bdf8ed7d10222c96944796b573855d061df51 GIT binary patch literal 101321 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 UD`kx=Jq94~boFyt=akR{0BC0+djJ3c literal 0 HcmV?d00001 diff --git a/static/index.html b/static/index.html index 19ad68c..a703a28 100644 --- a/static/index.html +++ b/static/index.html @@ -23,7 +23,7 @@ video { width: 100%; - max-width: 400px; + max-width: 1200px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); display: block; @@ -86,6 +86,19 @@ display: flex; justify-content: center; margin-top: 20px; + gap: 10px; + } + + #auto-checkin { + background-color: #f39c12; + } + + #auto-checkin:hover { + background-color: #d35400; + } + + #auto-checkin.active { + background-color: #e74c3c; } .logs-container { @@ -136,14 +149,16 @@ .main-layout { display: flex; gap: 20px; + max-width: 1600px; + margin: 0 auto; } .left-panel { - flex: 1; + flex: 6; } .right-panel { - flex: 1; + flex: 5; } @media (max-width: 768px) { @@ -176,7 +191,6 @@ position: fixed; top: 20px; right: 20px; - background-color: #f87171; /* red-400 */ color: white; padding: 12px 20px; border-radius: 8px; @@ -187,6 +201,14 @@ animation: slideIn 0.3s ease-out; } + .alert-success { + background-color: #34d399; /* green-400 */ + } + + .alert-error { + background-color: #f87171; /* red-400 */ + } + @keyframes slideIn { from { opacity: 0; @@ -204,7 +226,10 @@

📸 Face Camera

- +
+ + Hướng dẫn nhận diện khuôn mặt +

@@ -217,6 +242,7 @@
+
Nhấn phím Space để điểm danh nhanh @@ -246,7 +272,7 @@
- +