Classify provides two complementary methods for recording student attendance: a manual roster workflow for professors and an automated biometric path powered by an ESP32-C3 fingerprint reader. Both methods write to the sameDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Taykl12/Classify/llms.txt
Use this file to discover all available pages before exploring further.
asistencias table, producing a consistent attendance history that feeds into course statistics and reports.
Attendance States
Every attendance record carries one of four status values.Presente
The student was present for the session. Counts as present in all statistics calculations.
Tardanza
The student arrived late. Still counts as present in statistics — the distinction is kept for informational purposes.
Ausente
The student did not attend the session. Counts as absent in all statistics.
Justificado
The student was absent but has an accepted justification on record. Tracked separately and excluded from unexcused absence counts.
Both
Presente and Tardanza are treated as present when computing attendance percentages and session summaries. Use Tardanza to maintain a distinction in the raw record without penalising the student’s overall attendance rate.Manual Attendance by Professor
Professors record attendance course by course through the Attendance section of the course management view. The workflow follows a simple three-step process.Select the course
Navigate to Courses and open the course you want to record attendance for. Click on the Attendance tab to enter the attendance management view.
Select a date
Choose the session date from the date picker. If you are recording attendance for today, the current date is pre-selected. Attendance can also be entered retroactively by selecting a past date.
Fill in the roster
The full student roster for the course loads automatically. For each student, select their status:
Presente, Tardanza, Ausente, or Justificado. Add an optional observation note in the field next to a student’s name if circumstances warrant further detail.Manual Attendance Request
POST /api/professor/cursos/:id/asistencias
Request Fields
The course ID, supplied as a URL path parameter.
The session date in
YYYY-MM-DD format.Array of attendance records, one object per student.
The student’s user ID.
One of
Presente, Ausente, Tardanza, or Justificado.Optional free-text note attached to this individual record.
Biometric Attendance via ESP32-C3
When a physical fingerprint reader is deployed in the classroom, attendance can be recorded without any professor interaction. The ESP32-C3 device reads a student’s fingerprint and immediately notifies Classify.Student scans fingerprint
The student places their finger on the ESP32-C3 sensor. The device matches the fingerprint against its local template store.
Device notifies Classify
On a successful match, the ESP32 sends a
POST request to POST /api/device/esp32/button. Classify resolves the associated user, records the timestamp, and writes a Presente record to asistencias.ESP32-C3 hardware setup, fingerprint enrollment, and network configuration are covered in detail in the Self-Hosting → Hardware section of this documentation.
Attendance Data Model
All attendance records — regardless of whether they were entered manually or captured biometrically — are stored in theasistencias table with the following structure.
| Column | Description |
|---|---|
id_curso | The course the record belongs to |
id_usuario | The student being recorded |
fecha | Session date (YYYY-MM-DD) |
estado | Presente, Ausente, Tardanza, or Justificado |
observaciones | Optional professor or system note |
id_registrado_por | The professor or device that created the record |
Statistics and Session Summaries
Classify automatically computes per-student and per-session attendance statistics from theasistencias table. Summaries include:
- Present rate — percentage of sessions where status was
PresenteorTardanza - Absence count — number of
Ausenterecords - Justified absences — number of
Justificadorecords, tracked separately