StreamEdu Manual Oficial
Abrir App
Versión 1.2 Oficial Vanilla JS ES6+ (Namespace) Tema: Lemon Ice-Cream 100% Client-Side & Offline

Manual de Usuario de StreamEdu

Guía exhaustiva, paso a paso y orientada a la productividad. Aprende a dominar todas las herramientas, atajos, formatos de exportación dual (JSON y Paquetes ZIP), libreta Markdown y personalizaciones de la plataforma de aprendizaje autodidacta más rápida y privada.

0% Servidores

100% de datos en tu navegador

8 Paletas

Alto contraste WCAG AAA

Libreta .md

Aislada por curso & Sanitizada

Exportación Dual

.json ligero y .zip con adjuntos

1

Introducción y Filosofía

StreamEdu es un entorno de reproducción inteligente y toma de notas diseñado para estructurar cursos educativos a partir de videos de YouTube, playlists y recursos digitales, sin distracciones de algoritmos ni publicidad lateral.

Arquitectura Local (Zero-Server Privacy)

A diferencia de las plataformas tradicionales que requieren inicio de sesión y rastrean tu actividad en bases de datos remotas, StreamEdu opera 100% en el lado del cliente (tu navegador). Tus cursos, apuntes, tiempos y progreso residen exclusivamente en el almacenamiento seguro de tu computadora (`localStorage` e `IndexedDB`).

Requisitos del Sistema y Compatibilidad

La aplicación no requiere instalación de software auxiliar ni configuración de servidores locales. Funciona directamente abriendo el archivo index.html en cualquier navegador web moderno:

  • Google Chrome / Brave / Edge: Soporte total, incluyendo la moderna API nativa window.showSaveFilePicker para descargas directas de notas.
  • Mozilla Firefox / Apple Safari: Soporte completo con fallback transparente de descarga automática mediante blobs.
  • Dispositivos Móviles y Tablets: Interfaz con diseño fluido adaptativo (Mobile-First) y cajón desplegable lateral.
2

Experiencia de Bienvenida y Spotlight Tour

La primera vez que inicias StreamEdu, la aplicación presenta un modal interactivo de bienvenida que te permite elegir entre dos caminos de aprendizaje:

A
Explorar Curso Demo

Carga instantáneamente la «Masterclass de Desarrollo Web Frontend» con 9 lecciones organizadas y activa el Spotlight Tour guiado.

B
Comenzar desde Cero

Abre el lienzo en blanco para que puedas cargar tus propios archivos JSON o registrar videos manualmente con el botón «+ Nuevo Video».

El Recorrido Guiado Interactivo (Spotlight Tour)

El tour oscurece la pantalla suavemente y proyecta un foco iluminado sobre los cinco elementos neurálgicos de la aplicación:

Paso Elemento Resaltado Explicación y Función
1 Widget de Progreso y Temas Muestra el porcentaje completado en tiempo real y el botón de paletas de color.
2 Reproductor 16:9 El visor principal de YouTube con controles de lección anterior/siguiente.
3 Módulos y Lecciones Estructura jerárquica con acordeones, miniaturas y casillas de verificación.
4 Búsqueda y Filtros Rápidos Filtra al instante entre lecciones pendientes y completadas.
5 Libreta de Apuntes Cajón lateral con editor de Markdown en tiempo real y tipografías intercambiables.
¿Cómo reiniciar el Tour en cualquier momento?

Puedes reactivar el recorrido guiado cuando lo desees haciendo clic en el botón con ícono de brújula ubicado en la barra superior, o usando el atajo de teclado correspondiente.

3

Anatomía de la Barra Superior (Topbar)

La barra superior es el centro neurálgico de control. A continuación se presenta la captura de la aplicación en el tema Lemon Ice-Cream con los puntos funcionales clave:

StreamEdu - Vista Principal (Tema: Lemon Ice-Cream)
Captura de la vista principal de StreamEdu con el tema Lemon Ice-Cream
Figura 1: Interfaz general con reproductor de video 16:9, barra de progreso global, botones de gestión y acordeón lateral.
1
Logotipo Inteligente

Alterna automáticamente entre logo-light.png y logo-dark.png para asegurar contraste óptimo según el tema.

2
Barra de Progreso

Muestra exactamente cuántas lecciones has completado (ej. 0 de 9 completados - 0%) con relleno visual dinámico.

3
Cargar Curso (.json / .zip / .licpack)

Abre el modal para importar cursos mediante archivo JSON o paquete comprimido ZIP con recursos locales, arrastrar y soltar (Drag & Drop), o URL remota con CORS.

4
Exportar Curso (Dual: JSON o ZIP)

Descarga la estructura del curso. Si tu curso contiene archivos locales en IndexedDB, despliega el modal para elegir entre JSON Ligero o Paquete Completo (.zip) con todos tus archivos adjuntos.

5
+ Nuevo Video

Permite registrar un video manual indicando módulo de destino, título, URL de YouTube y tiempos de recorte.

6
Recursos (Badge)

Muestra el total de enlaces, documentación y archivos adjuntos del curso activo con un contador dinámico amarillo.

7
Brújula (Tour)

Botón de reinicio instantáneo del recorrido interactivo paso a paso para refrescar la memoria sobre las herramientas.

8
Selector de Temas

Abre el menú con las 8 paletas de color con punto indicador en vivo del tono acento activo.

4

Reproductor y Controles de Lección

El reproductor de StreamEdu está optimizado para YouTube con estrictas directivas de privacidad, relación de aspecto 16:9 y soporte de fragmentación por minutos:

Formatos de Enlace de YouTube Soportados

Puedes ingresar casi cualquier variante de URL de YouTube en la aplicación:

  • URLs estándar de navegador: https://www.youtube.com/watch?v=VIDEO_ID
  • URLs acortadas de compartir: https://youtu.be/VIDEO_ID
  • URLs con timestamps de inicio y fin: https://www.youtube.com/watch?v=VIDEO_ID&t=120s o parámetros JSON start: 60, end: 300 para reproducir solo el fragmento educativo deseado.

Barra de Acciones Inferior

Justo debajo del reproductor se ubica la barra de navegación inmediata de la lección:

Elemento Acción / Comportamiento Efecto Inmediato
Casilla «Marcar como completado» Al hacer clic se marca la lección con un check SVG animado. Aumenta la barra de progreso general y cambia el estado en la lista lateral.
Botón Anterior (⏮) Salta a la lección previa del mismo módulo o del módulo anterior. Carga el video inmediatamente sin recargar la página.
Botón Siguiente (⏭) Avanza a la lección siguiente en el orden del curso. Si la lección previa no estaba marcada, te permite continuar fluidamente.
Botón Enlace Externo (↗) Abre el video en una nueva pestaña de YouTube. Útil si deseas leer comentarios o acceder a subtítulos automáticos en otros idiomas.

Controlador Inteligente de YouTube y Auto-Avance

StreamEdu integra YouTubePlayerController mediante la API oficial de IFrame de YouTube, ofreciendo una experiencia de reproducción automatizada:

  • Detección de Finalización en Tiempo Real: Cuando un video concluye de reproducirse (evento YT.PlayerState.ENDED), la lección se marca automáticamente como vista y se emite una notificación Toast confirmatoria.
  • Control de Fragmentos por Minutos (Start / End): En lecciones fraccionadas, un temporizador interno verifica periódicamente la posición de reproducción. Al alcanzar el minuto límite (endTime), detiene la reproducción y registra la lección como concluida.
  • Auto-Avance Continuo: Tras completarse la lección actual, el sistema avanza fluidamente a la siguiente lección tras un intervalo de 800 ms, permitiendo estudiar en modo manos libres.
  • Fallback Seguro Offline / Protocolo Local: Si no hay conexión a internet o se ejecuta la aplicación bajo el protocolo local file:///, el sistema conmuta automáticamente al reproductor tradicional por parámetros de URL, garantizando que el curso siga siendo 100% usable.
6

Libreta de Apuntes en Tiempo Real (Markdown)

La Libreta de Apuntes es un cajón lateral deslizante que te permite tomar notas estructuradas mientras miras la clase sin perder de vista la lección:

StreamEdu - Libreta de Apuntes en Markdown con Vista Previa
Captura de la libreta de apuntes abierta con formato Markdown en StreamEdu
Figura 2: Cajón lateral de notas con selector de fuentes, barra de formato Markdown, renderizado en vivo y botones de exportación.

Herramientas de Edición y Tipografía

La libreta cuenta con una barra de herramientas completa en la parte superior:

  • Selector de Tipografía (5 Fuentes): Alterna instantáneamente entre cinco familias tipográficas:
    • Plus Jakarta (Sans): Moderna, limpia y de máxima legibilidad técnica.
    • Architects Daughter: Estilo manuscrito dinámico inspirado en Virgil / Excalidraw.
    • Patrick Hand: Caligráfica cuidada para notas de estudio personales.
    • JetBrains Mono: Monoespaciada perfecta para programación, snippets y terminal.
    • Merriweather: Tipografía serif para lectura cómoda y descansada de apuntes extensos.
  • Selector de Tamaño: Elige entre 13px, 15px, 17px o 19px según tus preferencias visuales.
  • Botones Rápidos de Markdown: Encabezados (H1, H2, H3), Negrita (B), Cursiva (I), Listas (≡), Citas (”) y Bloques de Código (<>).
  • Pestañas Editor / Vista Previa: Alterna entre la escritura en texto plano y la previsualización formateada con soporte de sintaxis Obsidian (incluyendo tareas interactivas - [ ]).

Anexar y Descargar Apuntes

1
Botón «Anexar archivo»

Permite importar apuntes existentes en formato .md o .txt desde tu computadora, sumándolos al final de tus notas actuales sin sobrescribir lo que ya tenías.

2
Botón «Descargar .md» (Windows Picker)

Utiliza la API nativa del sistema operativo para abrir la ventana de guardado de Windows, permitiéndote elegir la carpeta de destino y el nombre exacto del archivo.

Aislamiento Estricto por Curso y Sanitización XSS

Tus notas se indexan de manera independiente bajo la clave única de cada curso (course_player_notes_${courseId}). Al cargar un curso nuevo o alternar entre cursos, tus apuntes previos nunca se mezclarán ni se perderán. Además, el renderizador cuenta con sanitización nativa sanitizeHtml() que neutraliza scripts maliciosos sin alterar la interactividad de tus checklists.

Auto-Guardado Inteligente («Guardado ✓»)

No necesitas presionar guardar constantemente. Cada pulsación de tecla se sincroniza en milisegundos con el almacenamiento local del navegador, mostrando el badge verde confirmatorio.

7

Gestión de Cursos y Especificación JSON

StreamEdu utiliza un esquema JSON abierto y universal. Puedes estructurar tus propios cursos en cualquier editor de texto o compartir archivos .json con tus compañeros de estudio:

Estructura Estándar de un Archivo de Curso

{
  "title": "Masterclass de Desarrollo Web Frontend",
  "description": "Curso completo desde fundamentos hasta arquitecturas avanzadas",
  "version": "2.0.0",
  "resources": [
    {
      "title": "MDN Web Docs",
      "url": "https://developer.mozilla.org",
      "type": "link"
    }
  ],
  "modules": [
    {
      "id": "mod_1",
      "title": "Módulo 1: Fundamentos y Semántica Web",
      "lessons": [
        {
          "id": "les_1_1",
          "title": "1. Estructura y Semántica Moderna en HTML5",
          "url": "https://www.youtube.com/watch?v=UB1O30fR-EE",
          "duration": "1:08:44",
          "completed": false,
          "start": 0,
          "end": 4124,
          "notes": "Introducción a etiquetas header, nav, main y footer."
        }
      ]
    }
  ]
}

Campos Técnicos de cada Lección

Campo Tipo Obligatorio Descripción y Ejemplo
id String Sí Identificador único alfanumérico (ej. "les_01").
title String Sí Nombre de la lección visible en la lista lateral.
url String Sí Enlace de YouTube (completo o acortado).
completed Boolean No true o false para el estado de progreso.
start / end Number No Segundo exacto de inicio y fin para reproducir solo un segmento del video.
notes String No Apuntes o descripción contextual de la lección.

Exportación Dual: JSON Ligero vs Paquete Completo (.zip)

Al hacer clic en el botón «Exportar JSON» de la cabecera, StreamEdu evalúa inteligentemente si tu curso contiene archivos locales almacenados en IndexedDB:

1
JSON Ligero (.json) — Solo Texto

Descarga únicamente el archivo .json estructurado con tus módulos, lecciones, enlaces en la nube y apuntes. Es extremadamente liviano (pocos kilobytes) e ideal para enviar por WhatsApp, Slack o correo electrónico cuando tus materiales están enlazados en la web.

2
Paquete Completo (.zip / .licpack) — RECOMENDADO

Genera un archivo comprimido estándar que contiene el archivo course.json y una subcarpeta attachments/ con todos los archivos binarios locales (PDFs, diapositivas, código fuente). Es 100% portable para llevar en una memoria USB o abrir en cualquier otro equipo sin perder ningún archivo adjunto.

Importador Polimórfico y Motor de Empaquetado en el Cliente

StreamEdu incluye el módulo ZipPackager, un motor de compresión y descompresión binaria desarrollado en Vanilla JavaScript puro (con cálculo nativo de CRC-32 y DataView):

  • Cero Dependencias y 100% Privado: Todo el empaquetado y descompresión ocurre en la memoria RAM de tu navegador. Ningún archivo ni dato se transmite jamás a un servidor externo.
  • Arrastrar y Soltar Universal (Drag & Drop): Puedes soltar tanto archivos .json como paquetes .zip o .licpack en la zona de carga de «Cargar JSON».
  • Restauración Automática en IndexedDB: Al importar un paquete comprimido, el sistema extrae course.json, carga el temario y guarda de nuevo todos los archivos binarios de la carpeta attachments/ en la base de datos local del navegador, sin generar duplicados.
Validación Defensiva de Archivos ZIP

Si intentas cargar un archivo ZIP corrupto o que no contenga el archivo course.json, el sistema intercepta el error mediante validaciones multicapa, mostrando una alerta descriptiva en rojo y protegiendo tu curso y apuntes actuales sin alterar nada.

8

Gestor de Recursos y Materiales

Al hacer clic en el botón «Recursos» de la barra superior, se despliega el panel modal de materiales asociados al curso activo. Este panel cuenta con dos modalidades de almacenamiento:

Pestañas del Gestor de Recursos

  • Pestaña 1: Subir Archivo Local (Máx. 10 MB): Permite arrastrar o seleccionar documentos PDF, diapositivas, proyectos comprimidos o imágenes. El contenido binario se almacena directamente en la base de datos IndexedDB de tu navegador para acceso sin internet.
  • Pestaña 2: Vincular Enlace en la Nube: Para registrar enlaces a carpetas de Google Drive, repositorios de GitHub, tableros de Figma o artículos web con título personalizado.
  • Badge Contador Dinámico: El botón superior refleja en tiempo real la cantidad total de materiales disponibles en el curso.
  • Descarga y Eliminación Individual: Cada tarjeta de recurso cuenta con un botón para descargar el archivo a tu disco o abrir el enlace, así como un botón para eliminarlo del curso.
9

Los 8 Temas de Color y Accesibilidad

StreamEdu cuenta con 8 paletas minuciosamente calibradas para ofrecer un contraste cromático superior a los estándares de accesibilidad WCAG AAA:

Obsidian Dark
Fondo oscuro con acento Índigo
Cyber Emerald
Verde Esmeralda y Menta
Nordic Frost
Azul Polar con Cian Glaciar
Sunset Amber
Carbón cálido y Ámbar Fuego
Clean Light
Modo claro y Azul Zafiro
Rose Quartz
Pizarra y Rosa Eléctrico
Lemon Ice-Cream ⭐
Vainilla, Limón y Menta (Activo)
Iron-Man
Carmesí Stark, Oro y Arc Cyan
Adaptación Inteligente de Logotipos

Al cambiar de tema, la aplicación detecta si la paleta seleccionada es de fondo claro (como Clean Light o Lemon Ice-Cream) o fondo oscuro (como Obsidian o Iron-Man). Automáticamente conmuta el archivo del isotipo a logo-light.png o logo-dark.png para garantizar una legibilidad inmaculada.

10

Atajos de Teclado y Preguntas Frecuentes

Tabla de Atajos de Teclado

Función / Acción Atajo de Teclado Contexto
Avanzar al siguiente paso del Tour Enter o → Flecha Derecha Durante el Spotlight Tour
Retroceder al paso previo del Tour ← Flecha Izquierda Durante el Spotlight Tour
Cerrar / Omitir el Tour Esc Durante el Spotlight Tour
Cerrar modales o cajón de notas Esc En cualquier ventana emergente
Imprimir o Exportar Manual a PDF Ctrl + P En esta página de manual

Preguntas Frecuentes (FAQ)

¿Qué debo hacer si un video muestra «Video no disponible» o «Reproducción restringida»?
Algunos creadores de YouTube deshabilitan la opción de reproducción embebida en sitios externos por motivos de derechos de autor. En ese caso, haz clic en el botón «Mirar en YouTube» (o el ícono ↗ de la barra inferior) para reproducirlo directamente en YouTube sin perder tu lugar en el curso.
¿Puedo perder mis apuntes y cursos si borro el historial del navegador?
Si borras las "Cookies y datos del sitio" de tu navegador, se limpiará el almacenamiento local. Por esa razón, te recomendamos usar periódicamente el botón «Exportar JSON» para guardar un respaldo de tus cursos, y el botón «Descargar .md» en la libreta para conservar tus notas en tu disco duro o sincronizarlas con Google Drive o GitHub.
¿Cómo puedo compartir un curso que he creado con otra persona?
Si tu curso solo tiene videos y enlaces web, exporta con «JSON Ligero». Si adjuntaste archivos PDF, diapositivas o código local en IndexedDB, utiliza la opción «Paquete Completo (.zip)». Tu colega solo tendrá que arrastrar el archivo .json o .zip en la ventana de carga para tener el curso y todos sus materiales listos para estudiar.
¿Qué diferencia hay entre exportar como «JSON Ligero» y «Paquete Completo (.zip)»?
El JSON Ligero (.json) solo almacena la estructura de texto (títulos, URLs, apuntes y enlaces en la nube), pesando pocos kilobytes. El Paquete Completo (.zip / .licpack) empaqueta el archivo course.json junto a la carpeta attachments/ con todos los archivos binarios que subiste a IndexedDB. Es la opción ideal para transferir cursos completos entre computadoras o compartirlos de forma 100% autónoma.
¿Qué sucede si importo un archivo ZIP dañado o que no contiene los archivos del curso?
StreamEdu incluye un sistema de validación defensiva en capas. El motor examina la firma binaria ZIP y busca el archivo course.json. Si el paquete no tiene la firma válida, está truncado o no incluye la definición del curso, la operación se interrumpe de inmediato mostrando una alerta en rojo en el modal, protegiendo tu sesión actual sin alterar tus datos ni borrar apuntes.
¿Por qué mis notas no se mezclan con las de otros cursos al importar o cambiar de temario?
Cada curso cuenta con un espacio de almacenamiento segregado en el navegador indexado por su identificador único (course_player_notes_${courseId}). Al cambiar de curso o importar un archivo nuevo, el sistema carga exclusivamente las notas correspondientes a ese curso (o limpia el editor si el nuevo curso no tiene notas), evitando fugas o solapamientos de apuntes entre materias distintas.