Skip to main content
The student role (alumno) is the primary learner role in System Student. Students enroll in classes created by teachers, complete activities, and interact with the Montero AI tutor.

Registration and login

Students self-register through the public-facing app.
1

Navigate to the registration page

Go to /auth/alumno/registro. The registration form (RegisterUser component) collects the student’s full name, email address, password, and date of birth.
2

Confirm your email

After registration, a confirmation email is sent. The student must click the link, which is handled by the /confirmar route, before they can log in.
3

Log in

Students log in at /auth/alumno. On successful authentication a signed JWT is stored in the u_token cookie and the student is redirected to /app/alumno.
If a student is already authenticated and navigates to any /auth/* route, hooks.server.ts automatically redirects them to /app/alumno.

Student dashboard (/app/alumno)

The dashboard is the first screen students see after logging in. It loads a personal summary asynchronously and displays:

Completed activities

Total count of activities the student has submitted across all their enrolled classes.

Pending activities

Count of activities that are due but not yet submitted, with links to jump directly to each one.

Current level

The student’s gamification level, calculated from accumulated points using getLevelFromPoints(). Students earn 100 points per submitted activity.

Weekly activity calendar

A 7-day view showing which days the student was active on the platform (highlighted in the platform’s primary color).
The dashboard also displays a pending activities list with task titles, class names, due dates, and a direct link to each task.

Montero AI tutor (/app/alumno/montero)

Montero is an AI-powered tutor available to all students. It supports three conversation modes:
ModeDescription
Aprendizaje (Learning)Explanatory responses focused on understanding new topics. Optionally includes a YouTube video recommendation.
Repaso (Review)Concise summary-style responses for revising previously covered material.
GeneralOpen-ended conversation with no specific pedagogical framing.
Usage limits are enforced server-side:
  • A daily message cap applies per student (max_daily_messages, default 40).
  • Each individual chat thread has a maximum of 20 student questions.
  • When either limit is reached, the input is disabled with an overlay message.
Students can:
  • Create new chat threads with the + button.
  • Search across all their past conversations.
  • Delete individual chat threads.
  • Toggle YouTube video suggestions on or off (learning mode only).
Conversations are streamed token-by-token and stored in the chat_history table.

Classes (/app/alumno/clases)

The classes page shows all classes the student is currently enrolled in. Each class card displays:
  • Class name and teacher name
  • Next activity due date (or “no pending activities”)
  • A star button to mark the class as a favourite
  • A link to view the class detail page
  • A delete button to leave the class

Enrolling in a class

Students join a class using an enrollment code or QR code provided by their teacher. The ClassesExplorer component handles the enrollment flow from the classes list page.

Class detail page (/app/alumno/clases/[id_class])

Inside a class, students can:
  • Switch between Pendientes (pending) and Finalizadas (finished) activity tabs.
  • Open any activity in a side drawer to view questions and submit answers.
  • Send and receive direct messages with the teacher via a floating chat button.
Activity types supported:
TypeDescription
simpleMultiple-choice questions. Students select one option per question.
developmentOpen-ended questions. Students type a free-text answer.
Once an activity’s deadline has passed (finish_at), the submission form is disabled. Students can still view their responses and the teacher’s feedback comment. Grading: Each submitted activity earns the student 100 points. The teacher may assign a numeric score (qualification) and leave a comment.

In-class messaging

Within a class detail page, a floating button opens a side drawer where students can exchange messages directly with the teacher of that class. Read receipts are tracked — the teacher can see when a student has read their messages, and vice versa.

Profile and account (/app/alumno/cuenta)

Students can manage their account details from the Cuenta section. This includes updating personal information such as their name, profile photo, phone number, and date of birth.

Key routes

RoutePurpose
/auth/alumnoLogin
/auth/alumno/registroRegistration
/auth/alumno/recuperarPassword recovery
/app/alumnoDashboard
/app/alumno/monteroMontero AI tutor
/app/alumno/clasesClass list
/app/alumno/clases/[id_class]Class detail with activities and messaging
/app/alumno/cuentaAccount management