# usmanashfaq14/facial-recognition-attendance-system-using-ai-ml architecture

> Architecture diagram of the GitHub repository usmanashfaq14/facial-recognition-attendance-system-using-ai-ml, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml
- Repository: https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml

## Overview

FaceMate is a Tkinter desktop application for managing students and recording attendance through facial recognition. A user logs in, enters the dashboard, and can manage student records, train a face classifier, or recognize a face and record attendance; attendance can also be browsed and maintained in a separate screen. The source excerpts support direct dashboard dispatch, MySQL access, classifier training, camera-based recognition, and CSV attendance recording. Other wiring is omitted where the excerpts do not establish it; the tree contains no README.

Main entry points: [`main.py`](https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/main.py) (Dashboard), [`face_recognition.py`](https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/face_recognition.py) (Face Recognition), [`FaceMate.py`](https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/FaceMate.py) (Login), [`train_data.py`](https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/train_data.py) (Classifier Training)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Access and Dashboard"]
  node_login["Login<br/>[FaceMate.py]"]
  node_dashboard["Dashboard<br/>[main.py]"]
  node_registration["Account Registration<br/>[FaceMate.py]"]
end

subgraph group_faces["Face Recognition"]
  node_training["Classifier Training<br/>[train_data.py]"]
  node_images["Training Images"]
  node_classifier["Trained Classifier"]
  node_recognition["Face Recognition"]
end

subgraph group_records["Student and Attendance Records"]
  node_student["Student Management<br/>[student.py]"]
  node_attendance["Attendance Management<br/>[attendance.py]"]
  node_attendancecsv["Attendance CSV<br/>[attendance.csv]"]
end

subgraph group_support["User Support"]
  node_chatbot["HelpBot<br/>[chatbot.py]"]
  node_developer["Developer Info<br/>[developer.py]"]
end

node_user(("User"))
node_camera(("Camera"))
node_mysql[("MySQL Database")]

node_user -->|"signs in"| node_login
node_login -->|"checks credentials"| node_mysql
node_login -->|"opens on success"| node_dashboard
node_user -->|"registers"| node_registration
node_registration -->|"creates account"| node_mysql
node_dashboard -->|"opens"| node_student
node_dashboard -->|"opens"| node_training
node_dashboard -->|"opens"| node_recognition
node_dashboard -->|"opens"| node_attendance
node_dashboard -->|"opens"| node_chatbot
node_dashboard -->|"opens"| node_developer
node_student -->|"reads and writes"| node_mysql
node_training -->|"reads"| node_images
node_training -->|"trains and saves"| node_classifier
node_recognition -->|"captures frames"| node_camera
node_recognition -->|"loads model"| node_classifier
node_recognition -->|"looks up student"| node_mysql
node_recognition -->|"records attendance"| node_attendancecsv
node_attendance -->|"reads and writes"| node_mysql
node_attendance -->|"imports and exports"| node_attendancecsv

click node_login "https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/FaceMate.py"
click node_dashboard "https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/main.py"
click node_registration "https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/FaceMate.py"
click node_student "https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/student.py"
click node_training "https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/train_data.py"
click node_recognition "https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/face_recognition.py"
click node_attendance "https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/attendance.py"
click node_attendancecsv "https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/attendance_report/attendance.csv"
click node_chatbot "https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/chatbot.py"
click node_developer "https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/developer.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_login,node_dashboard,node_registration,node_user toneBlue
class node_training,node_images,node_classifier,node_recognition,node_mysql toneAmber
class node_student,node_attendance,node_attendancecsv toneMint
class node_chatbot,node_developer toneRose
class node_camera toneIndigo
```

## Components

### Access and Dashboard

- [Login](https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/FaceMate.py): `FaceMate.py`
- [Dashboard](https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/main.py): `main.py`
- [Account Registration](https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/FaceMate.py): `FaceMate.py`

### Face Recognition

- [Classifier Training](https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/train_data.py): `train_data.py`
- **Training Images**
- **Trained Classifier**
- [Face Recognition](https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/face_recognition.py): `face_recognition.py`

### Student and Attendance Records

- [Student Management](https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/student.py): `student.py`
- [Attendance Management](https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/attendance.py): `attendance.py`
- [Attendance CSV](https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/attendance_report/attendance.csv): `attendance_report/attendance.csv`

### User Support

- [HelpBot](https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/chatbot.py): `chatbot.py`
- [Developer Info](https://github.com/usmanashfaq14/facial-recognition-attendance-system-using-ai-ml/blob/master/developer.py): `developer.py`

### Other components

- **User**
- **Camera**
- **MySQL Database**

## Connections

- User → Login: signs in
- Login → MySQL Database: checks credentials
- Login → Dashboard: opens on success
- User → Account Registration: registers
- Account Registration → MySQL Database: creates account
- Dashboard → Student Management: opens
- Dashboard → Classifier Training: opens
- Dashboard → Face Recognition: opens
- Dashboard → Attendance Management: opens
- Dashboard → HelpBot: opens
- Dashboard → Developer Info: opens
- Student Management → MySQL Database: reads and writes
- Classifier Training → Training Images: reads
- Classifier Training → Trained Classifier: trains and saves
- Face Recognition → Camera: captures frames
- Face Recognition → Trained Classifier: loads model
- Face Recognition → MySQL Database: looks up student
- Face Recognition → Attendance CSV: records attendance
- Attendance Management → MySQL Database: reads and writes
- Attendance Management → Attendance CSV: imports and exports
