Actúa como un Arquitecto de Software Full Stack, Diseñador Instruccional y Experto en Experiencia de Usuario (UX/UI) especializado en tecnología educativa. Tu objetivo es diseñar la arquitectura completa, la estructura de base de datos y los lineamientos de desarrollo para una plataforma web educativa modular, moderna y autogestionable (sin código para la edición de contenido). 1. Requisitos Técnicos y Arquitectura General Frontend: Desarrollado con un framework moderno y responsivo (ej. React.js o Next.js con Tailwind CSS) que garantice una interfaz accesible, limpia y optimizada para dispositivos móviles y de escritorio. Backend: API robusta y segura (ej. Node.js con Express o Python con FastAPI) para gestionar la lógica de usuarios, el progreso de los módulos y los formularios de contacto. Base de Datos: Estructura relacional (ej. PostgreSQL o Supabase) optimizada para almacenar perfiles de usuario, metadatos de los módulos educativos, registros de contacto y calificaciones o avances. Gestión de Contenidos (CMS / Sin Código): Integración con un CMS headless (como Strapi, Directus o Sanity) o una interfaz administrativa intuitiva tipo drag-and-drop que permita al personal docente y administrativo editar textos, imágenes, videos y evaluaciones sin requerir conocimientos de programación. 2. Estructura de Secciones de la Página Diseña la arquitectura de información y el wireframe lógico para las siguientes cinco secciones principales: Home (Inicio): Banner principal con llamado a la acción (CTA) dinámico, propuesta de valor de la plataforma educativa, sección de accesos directos a los módulos destacados y testimonios o métricas institucionales. About us (Sobre Nosotros): Misión, visión, objetivos pedagógicos, equipo de trabajo/instructores y la filosofía educativa o marco de referencia curricular que sustenta el proyecto. Instructional Module (Módulo Instruccional): El núcleo pedagógico. Debe incluir un listado de unidades o lecciones estructuradas bajo el modelo de enseñanza activo (ej. Exploración, Conceptualización, Aplicación), visor de contenidos multimedia (videos, lecturas, infografías) y una sección interactiva para evaluaciones formativas o autoevaluaciones con retroalimentación inmediata. Contact (Contacto): Formulario de contacto validado en frontend y backend (nombre, correo, mensaje, categoría de consulta), información institucional (correo de soporte, horario de atención) y enlaces a redes sociales. Credits (Créditos): Reconocimiento a fuentes bibliográficas, recursos multimedia de terceros, licencias de software, herramientas de IA utilizadas y equipo de desarrollo o diseño instruccional. 3. Entregables Esperados en tu Respuesta El esquema detallado de las tablas de la base de datos con sus campos y relaciones principales. La estructura de carpetas y componentes sugerida para el proyecto (Frontend + Backend). Una guía paso a paso sobre cómo conectar el CMS visual para que la edición de contenido sea 100% no-code. Un ejemplo de código base o esquema JSON para la sección del Instructional Module que permita renderizar dinámicamente lecciones y ejercicios. -- 1. Tabla de Roles y Usuarios CREATE TABLE roles ( id SERIAL PRIMARY KEY, nombre VARCHAR(50) UNIQUE NOT NULL -- 'admin', 'docente', 'estudiante' ); CREATE TABLE usuarios ( id SERIAL PRIMARY KEY, nombre VARCHAR(100) NOT NULL, email VARCHAR(150) UNIQUE NOT NULL, password_hash VARCHAR(255) NOT NULL, rol_id INT REFERENCES roles(id) ON DELETE SET DEFAULT, creado_en TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 2. Tabla de Secciones del Sitio (CMS Headless / No-Code) CREATE TABLE secciones_cms ( id SERIAL PRIMARY KEY, slug VARCHAR(50) UNIQUE NOT NULL, -- 'home', 'about-us', 'contact', 'credits' titulo VARCHAR(100) NOT NULL, contenido_json JSONB NOT NULL, -- Almacena bloques de texto, imágenes y metadatos editables actualizado_en TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 3. Tabla del Núcleo Instruccional (Instructional Modules) CREATE TABLE modulos_instruccionales ( id SERIAL PRIMARY KEY, titulo VARCHAR(150) NOT NULL, descripcion TEXT, orden INT NOT NULL, activo BOOLEAN DEFAULT TRUE, creado_en TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 4. Unidades o Lecciones dentro de los Módulos (Modelo ECA u otros) CREATE TABLE lecciones ( id SERIAL PRIMARY KEY, modulo_id INT REFERENCES modulos_instruccionales(id) ON DELETE CASCADE, titulo VARCHAR(150) NOT NULL, fase_pedagogica VARCHAR(50), -- 'Exploracion', 'Conceptualizacion', 'Aplicacion' contenido_html TEXT NOT NULL, -- Renderizado desde el CMS recurso_multimedia_url VARCHAR(255), orden INT NOT NULL ); -- 5. Evaluaciones Formativas asociadas a Lecciones CREATE TABLE evaluaciones ( id SERIAL PRIMARY KEY, leccion_id INT REFERENCES lecciones(id) ON DELETE CASCADE, pregunta TEXT NOT NULL, opciones_json JSONB NOT NULL, -- Opciones de selección múltiple respuesta_correcta VARCHAR(100) NOT NULL ); -- 6. Progreso del Estudiante y Calificaciones CREATE TABLE progreso_estudiante ( id SERIAL PRIMARY KEY, usuario_id INT REFERENCES usuarios(id) ON DELETE CASCADE, leccion_id INT REFERENCES lecciones(id) ON DELETE CASCADE, completado BOOLEAN DEFAULT FALSE, calificacion DECIMAL(5,2), actualizado_en TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 7. Registro de Mensajes de la Sección Contact CREATE TABLE contactos ( id SERIAL PRIMARY KEY, nombre VARCHAR(100) NOT NULL, email VARCHAR(150) NOT NULL, categoria VARCHAR(100) NOT NULL, mensaje TEXT NOT NULL, leido BOOLEAN DEFAULT FALSE, enviado_en TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
Sign in to leave a comment
Gathering your amazing requirements
No comments yet. Be the first!