Skip to main content

Documentation 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.

The professor (profesor) role extends all student capabilities with tools designed for academic oversight. Professors can record attendance for their courses, review and validate student pre-projects, and selectively lock project sections to guide students through each phase of their work. Unlike the student role, which is assigned automatically, the professor role must be granted by an administrator.

How the Professor Role Is Assigned

After a user registers as a student, an admin can promote them to professor from the Admin Panel → Users screen. The admin selects the user and updates their role using PATCH /api/admin/users/:id. The change takes effect immediately — on the user’s next request, the requireProfessor middleware will recognize the updated role.
Professors are assigned to specific courses and/or subjects by an admin. They only see the courses they have been explicitly assigned to — they do not have visibility into courses outside their assignment.

Course Management

Once assigned to one or more courses, professors can view their course list and drill into individual courses to see enrolled students.
EndpointDescription
GET /api/professor/cursosList all courses assigned to the authenticated professor
GET /api/professor/cursos/:id/alumnosList all students enrolled in a specific course
GET /api/professor/summaryReturn course count and total student count across all assigned courses

Professor Dashboard

The professor dashboard at /profesor/cursos provides an at-a-glance summary of assigned courses. Selecting a course navigates to /profesor/cursos/:id, where the professor can see enrolled students and manage attendance.

Attendance Recording

Attendance is recorded per course per session. A professor opens a course, triggers the attendance flow, and the platform creates an attendance session tied to the current date.
EndpointDescription
POST /api/professor/cursos/:id/asistenciasRecord a new attendance session for a course
GET /api/professor/cursos/:id/asistenciasList all attendance sessions for a course
GET /api/professor/cursos/:id/asistencias/:fechaView the detail of a specific session by date

Attendance Frontend Routes

RouteDescription
/profesor/asistenciaOverview of attendance across all assigned courses
/profesor/asistencia/:courseIdSession list and recording interface for a single course

Pre-Project Validation

Each student project includes an anteproyecto_validado boolean flag. When a professor reviews a student pre-project and approves it, they toggle this field to true. This signals to both the student and the platform that the pre-project phase has been cleared and the team can progress. Professors can only toggle anteproyecto_validado on projects that belong to courses they are assigned to.

Project Section Locks

Professors can lock individual sections of a student project to prevent further edits while that phase is under review or has been finalized. The three lockable sections are:

Scope

Locks the project scope definition, preventing students from changing the stated objectives.

Documentation

Locks the documentation section once submitted for review.

Team

Locks the team composition, preventing member changes after a cutoff point.
Locks can be set or cleared at any time by the assigned professor. Students see a read-only view of any locked section.

Full Capabilities Summary

Professors retain all student capabilities: creating and editing projects, managing tasks, viewing calendar events, and adjusting project settings where they are the project owner.
  • View assigned courses and their enrolled students
  • Record and review attendance sessions
  • Validate student pre-projects
  • Lock and unlock project sections (scope, documentation, team)
  • Access the professor summary endpoint for course and student counts

API Endpoints at a Glance

All professor API routes are protected by the requireProfessor middleware, which runs after requireAuth. Any request without a valid professor-role JWT is rejected.
GET    /api/professor/cursos
GET    /api/professor/cursos/:id/alumnos
POST   /api/professor/cursos/:id/asistencias
GET    /api/professor/cursos/:id/asistencias
GET    /api/professor/cursos/:id/asistencias/:fecha
GET    /api/professor/summary

Build docs developers (and LLMs) love