Quiero construir una aplicación de escritorio para gestionar mi docencia de Educación Física en secundaria. Trabaja de forma incremental y pregúntame antes de tomar decisiones de arquitectura importantes. ## Objetivo Una app de escritorio que gestione Situaciones de Aprendizaje (SA), las sesiones dentro de cada SA, y que permita generar actividades interactivas para proyectar en clase. ## Stack tecnológico - **Node.js + Electron** para una aplicación de escritorio multiplataforma. - Base de datos SQLite en local mediante better-sqlite3 (sencillo, sin servidor aparte). Ten en cuenta que better-sqlite3 es un módulo nativo: configúralo correctamente para que funcione dentro de Electron (versión de Node/Electron compatible, rebuild si hace falta). - Frontend dentro de la ventana de Electron: propónme la opción más simple de mantener (HTML + JS vainilla, o React si lo justificas). Espera mi confirmación antes de decidir. - Respeta la separación de procesos de Electron: proceso principal (main), preload con contextBridge, y proceso de renderizado. No actives nodeIntegration en el renderer; expón solo lo necesario mediante IPC seguro. ## Modelo de datos - **Situación de Aprendizaje (SA)**: título, curso/nivel, trimestre, competencias específicas, criterios de evaluación, saberes básicos, descripción, y una lista de sesiones asociadas. - **Sesión**: número/orden, título, objetivos, calentamiento, parte principal, vuelta a la calma, materiales, duración, y notas. Cada sesión pertenece a una SA. - **Actividad interactiva**: vinculada opcionalmente a una sesión; tipo (cuestionario, cuenta atrás/temporizador, marcador de equipos, sorteo de grupos, ruleta), y su configuración. ## Funcionalidades 1. CRUD completo de SA y de sesiones (crear, ver, editar, borrar). 2. Vista de una SA con sus sesiones ordenadas. 3. Generador de actividades interactivas en **modo pantalla completa** pensadas para proyector: temporizador grande, marcador de equipos, sorteo/asignación de grupos, y cuestionario tipo test con preguntas configurables. Aprovecha que es una app de escritorio para ofrecer pantalla completa real y, si es posible, uso de segundo monitor/proyector. 4. Persistencia de datos en local con SQLite, guardando el archivo de base de datos en la carpeta de datos de usuario de la app (app.getPath('userData')). ## Requisitos técnicos - Prioriza simplicidad: soy profesor, no programador. Que sea fácil de arrancar en desarrollo con un solo comando (por ejemplo npm start). - Interfaz limpia y en español. - Diseño optimizado para proyección (texto grande, alto contraste) en el modo actividades. - Añade un package.json con scripts claros. Incluye también configuración para empaquetar la app como ejecutable (por ejemplo con electron-builder) para Windows, y explícame cómo generar el instalable. - Al terminar, dame instrucciones paso a paso de cómo instalar dependencias, arrancar la app en desarrollo y generar el ejecutable final. ## Cómo trabajar 1. Primero propón la estructura de carpetas, confírmame la elección de frontend y el enfoque genera de la aplicación y espera mi visto bueno. 2. Luego implementa por fases. 3. Explícame brevemente cada fase en lenguaje sencillo antes de pasar a la siguiente. Empieza proponiéndome la estructura del proyecto, la opción de frontend y el enfoque general de la aplicación.