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.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.
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 usingPATCH /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.| Endpoint | Description |
|---|---|
GET /api/professor/cursos | List all courses assigned to the authenticated professor |
GET /api/professor/cursos/:id/alumnos | List all students enrolled in a specific course |
GET /api/professor/summary | Return 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.| Endpoint | Description |
|---|---|
POST /api/professor/cursos/:id/asistencias | Record a new attendance session for a course |
GET /api/professor/cursos/:id/asistencias | List all attendance sessions for a course |
GET /api/professor/cursos/:id/asistencias/:fecha | View the detail of a specific session by date |
Attendance Frontend Routes
| Route | Description |
|---|---|
/profesor/asistencia | Overview of attendance across all assigned courses |
/profesor/asistencia/:courseId | Session list and recording interface for a single course |
Pre-Project Validation
Each student project includes ananteproyecto_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.
Full Capabilities Summary
Inherited from Student Role
Inherited from Student Role
Professors retain all student capabilities: creating and editing projects, managing tasks, viewing calendar events, and adjusting project settings where they are the project owner.
Professor-Only Capabilities
Professor-Only Capabilities
- 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 therequireProfessor middleware, which runs after requireAuth. Any request without a valid professor-role JWT is rejected.