Skip to main content
The Configuration section (/panel/configuracion) lets you adjust the general parameters that define the visual identity and behavior of the platform. It also provides access to the satisfaction questionnaire management and the emotional containment module. Access to subsections depends on the areas enabled in the administrator’s role. The redirect order is: config:general → main page, config:roles → Roles, config:backup → Backup, config:account-restore → Restore accounts.

General configuration — /panel/configuracion

Edit the global metadata and visual assets of the platform. Data is stored in the config table.

Configurable fields

FieldDescriptionLimit
Platform titleName shown in the browser tab and SEO metadata180 characters
DescriptionShort description for search engines400 characters
KeywordsComma-separated, for SEO800 characters
LogoMain platform logo (PNG, JPEG, or WebP)Max 1600×1600 px, quality 0.78
Logo (white)White version of the logo for dark backgroundsMax 1600×1600 px, quality 0.78
FaviconBrowser tab iconMax 512×512 px, quality 0.85
All images are automatically compressed to WebP format before being uploaded to the config Supabase Storage bucket. The resulting public URL is saved in the config table.

Saving configuration

Click Save information. The system sends the data to POST /api/admin/update-config.
POST /api/admin/update-config
Content-Type: multipart/form-data
FieldTypeDescription
configJSON stringObject with title, description, keywords, logo, favicon, logo_white
logo_fileFile (optional)New logo file
logo_white_fileFile (optional)New white logo file
favicon_fileFile (optional)New favicon file
Example config JSON:
{
  "title": "System Student",
  "description": "AI-powered educational platform for Mexican schools",
  "keywords": "education, AI, schools Mexico, learning",
  "logo": "https://storage.supabase.co/...",
  "favicon": "https://storage.supabase.co/...",
  "logo_white": "https://storage.supabase.co/..."
}
Response:
{
  "success": true,
  "data": { ...config }
}

Questionnaire — /panel/sistema/cuestionario

Displays aggregated results of satisfaction questionnaires completed by users. Data comes from the questionnaires table.

User type filters

FilterValue in DB
Teachersteacher
Tutorstutor
Studentsuser

Interpreting results

Each question (ratings) shows:
  • Title: the name of the evaluated question.
  • Average: mean rating on a 1–5 scale, represented with stars (including half stars).
  • Responses: total number of users who answered the question.
A half star indicates the average falls between two integers (e.g. 3.5 stars).

Containment — /panel/sistema/contencion

Shows all emotional or behavioral containment situations detected by the AI system in student chats.

Containment levels

LevelColorDescription
graveRedSituation requiring priority attention
leveOrangeSituation requiring moderate attention

Available filters

  • All: shows all situations with no level filter.
  • Grave: filters to situations classified as grave.
  • Leve: filters to situations classified as leve.
  • Search: filters by student name, last name, email, or phone.

Viewing the conversation

Each containment card shows the situation summary (summary) and the last message of the conversation. Clicking View conversation opens a side panel with the complete chat history that triggered the alert, distinguishing student messages from AI responses.
Containment situation information is confidential. Ensure only administrators with the system:contention area have access to this section.

Required permissions by subsection

SubsectionRequired area
General configurationconfig:general
Questionnairesystem:questionnaire
Containmentsystem:contention