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
| Field | Description | Limit |
|---|
| Platform title | Name shown in the browser tab and SEO metadata | 180 characters |
| Description | Short description for search engines | 400 characters |
| Keywords | Comma-separated, for SEO | 800 characters |
| Logo | Main platform logo (PNG, JPEG, or WebP) | Max 1600×1600 px, quality 0.78 |
| Logo (white) | White version of the logo for dark backgrounds | Max 1600×1600 px, quality 0.78 |
| Favicon | Browser tab icon | Max 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
| Field | Type | Description |
|---|
config | JSON string | Object with title, description, keywords, logo, favicon, logo_white |
logo_file | File (optional) | New logo file |
logo_white_file | File (optional) | New white logo file |
favicon_file | File (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
| Filter | Value in DB |
|---|
| Teachers | teacher |
| Tutors | tutor |
| Students | user |
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
| Level | Color | Description |
|---|
grave | Red | Situation requiring priority attention |
leve | Orange | Situation 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
| Subsection | Required area |
|---|
| General configuration | config:general |
| Questionnaire | system:questionnaire |
| Containment | system:contention |