Skip to main content
The classes section at /app/alumno/clases is where you manage all the classes you are enrolled in. From here you can browse active classes, explore new ones, and unenroll from classes you no longer need.

Classes list

The list shows all classes where your enrollment has been approved by the teacher (approved: true, deleted: false). Each class card displays:
  • Class name and photo
  • Teacher name
  • Next delivery date (if a pending activity exists)
  • A star button to mark the class as a favourite
  • A link to open the class detail page
  • A trash icon to unenroll
Classes are sorted alphabetically by class name. The total count of enrolled classes appears in a badge at the top: “Clases inscritas · N”.
The classes list only shows classes where the teacher has already approved your enrollment request. Classes with a pending approval do not appear here.

Exploring and enrolling in new classes

Click “Explorar nuevas clases” to open the class explorer modal. The modal fetches classes from GET /api/student/find-classes, which returns classes that:
  • Match your age range (min_age ≤ your age ≤ max_age)
  • You are not already enrolled in
Classes are ranked by number of stars (most starred first), then alphabetically.
1

Open the explorer

On the classes list page, click the “Explorar nuevas clases” button in the top-right area.
2

Browse or search

The modal shows available classes in a grid. Use the search bar to filter by class name, description, or teacher name.
3

Send an enrollment request

Click “Inscribirse” on a class card. The button changes to “Enviado” and confetti fires to confirm the request was sent.
4

Wait for teacher approval

The teacher receives a notification and must approve your request before the class appears in your list. Your tutor is also notified of the enrollment request.
Enrollment is not immediate. The class will not appear in your list until the teacher approves your request.

Class detail page

Clicking “Ver clase” or “Actividad pendiente” on a class card opens the class detail at /app/alumno/clases/{id_class}. The detail page shows:

Class info

Class name, teacher name, and class photo in the page header.

Activities

Two tabs — Pending and Finished — showing all assigned activities for your account.

Teacher chat

A floating button opens a real-time chat drawer with your teacher for this class.

Back navigation

A “Volver a clases” link in the top-right returns you to the classes list.

Activity tabs

  • Pendientes — tasks with a future due date that you have not yet submitted.
  • Finalizadas — tasks you have submitted, or tasks whose due date has passed.
Pending tasks are sorted by start date (earliest first). Finished tasks are sorted by start date descending (most recent first).

Starring a class

The star button on each class card in the list toggles your star rating for that class. Starring is persisted via POST /api/student/send-star with the class ID, teacher ID, and the new star state (true or false). Stars affect the ranking order when other students browse available classes.

Unenrolling from a class

Click the trash icon on a class card in the list. A confirmation dialog appears before the request is sent.
1

Click the trash icon

Find the class in your list and click the red trash icon on the right side of the card.
2

Confirm the dialog

A confirmation dialog warns that this action cannot be reversed. Click “Sí, eliminar” to proceed.
3

Class removed

The class disappears from your list immediately. The API marks your enrollment as deleted: true in the database.
Unenrolling cannot be undone from the student app. You would need to send a new enrollment request and wait for teacher approval to re-join the class.

API reference

Find available classes

GET /api/student/find-classes
Returns classes available for enrollment filtered by the student’s age. No request body required. Response
{
  "success": true,
  "available_classes": [
    {
      "id": "uuid",
      "class_name": "Matemáticas 3A",
      "description": "Algebra y geometría",
      "teacher_name": "Carlos",
      "teacher_last_name": "Pérez",
      "photo": "url_or_null",
      "stars": ["student_uuid_1"]
    }
  ]
}

Enroll in a class

POST /api/student/enroll-class
Content-Type: multipart/form-data
FieldTypeDescription
class_idstring (UUID)ID of the class to enroll in
Response
{
  "success": true,
  "message": "Te has inscrito. Esperando aprobación del maestro."
}

Unenroll from a class

POST /api/student/delete-class
Content-Type: multipart/form-data
FieldTypeDescription
id_studentstringAuthenticated student’s ID
id_classstring (UUID)ID of the class to leave
Response
{ "success": true, "updated": 1 }