ESEN stores all data in three in-memory JavaScript arrays:Documentation Index
Fetch the complete documentation index at: https://mintlify.com/rtajio/ESEN/llms.txt
Use this file to discover all available pages before exploring further.
actividades, estudiantes, and USUARIOS. Because the app runs entirely in the browser with no persistence layer, these arrays are re-initialized to their demo values every time the page loads. The following sections document every field of each object, including the types enforced by the application logic and real examples taken directly from the demo data.
Activity object (actividades)
Activity object (actividades)
Each element of the Example — demo activity (id: 1)
actividades array represents a single extracurricular activity. New activities are appended by saveActividad() using fields collected from the activity modal form.Auto-incremented integer identifier. The demo dataset occupies IDs 1–6;
nextId starts at 7 so that the first user-created activity receives ID 7.Human-readable name of the activity, e.g.
"Taller de Emprendimiento".Category. Must be one of the five values recognized by
CAT_COLORS:| Value | Badge class | Display color |
|---|---|---|
Académico | badge-blue | Blue |
Deportivo | badge-teal | Teal |
Cultural | badge-coral | Coral |
Voluntariado | badge-green | Green |
Liderazgo | badge-amber | Amber |
Resolution number that formally authorizes the activity. Convention:
RES-YYYY-NNN (e.g. "RES-2024-001").ISO 8601 date string in
YYYY-MM-DD format (e.g. "2024-03-15"). Displayed to users as DD/MM/YYYY via formatDate().Integer number of hours the activity is worth. Used to compute cumulative hours in the dashboard, reports, and student history.
Optional free-text description. The activities table truncates this to 55 characters for display.
Array of participant full names (strings). Names must match the
nombre field of a estudiantes entry for the student history view to link them correctly. Example: ["Carlos Mamani", "Lucía Torres"].Whether the activity is currently enabled. New activities default to
true. Toggle with toggleActivo(id). Only active activities appear in the student-facing public view (renderPub()).Student object (estudiantes)
Student object (estudiantes)
Each element of the Example — demo student
estudiantes array represents an enrolled student. The array is read-only in the current UI — there is no form for adding or editing students.Full name of the student, e.g.
"Carlos Mamani". This value is matched against activity.participantes to compute the student’s activity count and total hours.Student code in
YYYY-NNNN format (e.g. "2021-0452"). The year component typically reflects the enrollment year.National identity document number (DNI), stored as a string to preserve leading zeros if present. Example:
"72345678".Name of the faculty or school the student belongs to, e.g.
"Ingeniería de Sistemas".User object (USUARIOS)
User object (USUARIOS)
The Example — both demo users
USUARIOS array holds credentials and role assignments for every account that can log in. It is a constant — no UI exists to add or modify users at runtime.Username used on the login form (e.g.
"admin01").Plain-text password (e.g.
"admin123"). ESEN is a demo app with no backend, so no hashing is applied.Role that controls which navigation and views are shown after login. Must be
"admin" or "estudiante".Display name shown in the sidebar and used to match the student’s participation history. For student accounts this must match the corresponding
estudiantes[].nombre exactly.All three arrays live in memory only. Refreshing the page restores the original demo data. To add persistence, replace the array literals with
localStorage.getItem / localStorage.setItem calls, or wire them to a backend API.