Ideación, prototipado digital y exposición en un solo día. Todo lo que necesitas para arrancar tu proyecto.
Cada bloque está diseñado para maximizar el aprendizaje y la creatividad del equipo.
Construye desde cero una herramienta web interactiva usando HTML, CSS y JavaScript vanilla. Gestiona tareas, recursos y riesgos, calcula costos automáticamente y visualiza los resultados.
Este taller tiene como objetivo que construyas, desde cero, una herramienta web interactiva de estimación de proyectos usando únicamente HTML, CSS y JavaScript vanilla — sin frameworks ni librerías externas obligatorias.
Construir una aplicación web de una sola página (single-page app) que permita gestionar tareas, recursos y riesgos, calcular costos automáticamente y visualizar los resultados.
En cualquier proyecto — de software, diseño, construcción o marketing — existe una fase crítica: estimar cuánto tiempo, cuánto cuesta y qué riesgos existen. Sin esa estimación, los proyectos se desbordan.
Proyecto: Tienda en línea para una empresa local
La aplicación debe incluir al menos los siguientes módulos funcionales. Cada uno es un componente independiente que se integra al resumen final.
Agregar, editar y eliminar tareas del proyecto.
Registrar roles del equipo con tarifa diaria y días asignados.
Listar los riesgos del proyecto con su nivel de impacto y probabilidad.
Mostrar el consolidado financiero y temporal del proyecto.
Gráfica de barras o dona con distribución de costos o días por tarea.
Si es tu primera vez construyendo algo así, estos conceptos son clave para el desarrollo de la herramienta.
Actualiza la interfaz sin recargar la página usando JavaScript puro.
document.getElementById() para acceder a elementosinnerHTML para reescribir el contenido de un bloqueaddEventListener() para capturar eventos del usuarioGuarda tus tareas y recursos en arreglos de objetos.
[{ nombre: 'Tarea A', días: 5, costo: 1000 }]push(), splice() y map()Crea una función que dibuje toda la tabla desde cero cada vez que el arreglo cambie.
renderTareas() y llámala después de cada cambio.map() con template literals para generar filas HTMLinnerHTML del contenedorJavaScript reduce() es tu mejor aliado para sumar costos y días.
total = tareas.reduce((suma, t) => suma + t.costo, 0)Importa Chart.js desde CDN e implementa gráficas con pocas líneas.
https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.4.1/chart.umd.jsdoughnut para costos, bar para díaschart.destroy()Aquí puedes ver y explorar la solución de referencia del reto. Úsala como inspiración — no como copia. Tu versión debe reflejar tu propio código y criterio.