Saltar al contenido principal

Ejercicios: Componentes Reutilizables con DaisyUI, Tailwind & RSC

En esta guía pondrás a prueba tu capacidad para estructurar y modularizar interfaces web modernas en Next.js (App Router) mediante 20 ejercicios progresivos, utilizando Tailwind CSS y la biblioteca de componentes semánticos DaisyUI bajo la identidad visual institucional oficial de la Universidad Icesi (Manual de Marca 2026: Azul Icesi #5454e9, Morado #865cf0, Verde #4cb979, Naranja #e9683b y Amarillo #e4eb60).

Cada ejercicio se organiza en dos pestañas:

  1. Componente & Vista: Despliega el componente interactivo en vivo maquetado con DaisyUI y Tailwind CSS junto a su descripción funcional.
  2. Consejos & Guía: Especifica la ruta recomendada del archivo, su propósito arquitectónico, paleta/tema de DaisyUI sugerido, interfaz de contratos de props, clases base recomendadas y una lista de buenas prácticas sobre qué usar y qué evitar (anti-patrones).

Nivel 1: Átomos Visuales (Fácil)​

Elementos de interfaz de propósito único, altamente reutilizables y con dependencias mínimas.

01. Botón de Acción con Estado de Carga y Badge​

Componente Interactivo #01
DaisyUI + Tailwind (Icesi 2026)

Botón de acción interactivo que combina un icono vectorial, etiqueta descriptiva, una insignia (badge) tonal informativa a la derecha (ej. formato de archivo "PDF") y soporte para alternar dinámicamente a un estado de carga (loading spinner).


02. Insignia de Estado Tonal con Indicador Luminoso​

Componente Interactivo #02
DaisyUI + Tailwind (Icesi 2026)

Micro-componente en forma de píldora que combina un punto luminoso parpadeante (pulsing dot) con una etiqueta textual para comunicar visualmente el estado académico o administrativo de un registro (activo con Verde Icesi #4cb979, en revisión con Morado #865cf0, pendiente con Naranja #e9683b).


03. Banner de Alerta Informativa Institucional​

Componente Interactivo #03
DaisyUI + Tailwind (Icesi 2026)

Bloque de notificación destacado que presenta un icono vectorial informativo en Azul Icesi (#5454e9), un título en negrita, cuerpo explicativo y un botón de acción secundaria para dirigir al usuario a la acción correspondiente.


04. Avatar de Usuario con Anillo de Presencia y Rol​

Componente Interactivo #04
DaisyUI + Tailwind (Icesi 2026)

Conjunto atómico que incluye fotografía circular del usuario con anillo exterior (ring) en color Azul Icesi (#5454e9), indicador verde de conexión en vivo con Verde Icesi (#4cb979), nombre, badge de rol académico y ubicación actual.


05. Píldora de Atajo de Teclado con Kbd​

Componente Interactivo #05
DaisyUI + Tailwind (Icesi 2026)

Fila compacta con etiqueta descriptiva a la izquierda y teclas físicas simuladas mediante elementos semánticos <kbd> a la derecha, ideal para paletas de comandos o menús de navegación rápida.


06. Indicador de Calificación por Estrellas​

Componente Interactivo #06
DaisyUI + Tailwind (Icesi 2026)

Componente visual de valoración que despliega estrellas con soporte para medias calificaciones (half stars), puntuación numérica destacada y cantidad total de evaluaciones registradas.


07. Caja Bento de Métrica Académica​

Componente Interactivo #07
DaisyUI + Tailwind (Icesi 2026)

Tarjeta informativa estilo bento que presenta un indicador cuantitativo principal (ej. Promedio Acumulado GPA), icono institucional en contenedor tonal Azul Icesi (#5454e9), y tendencia porcentual con comparativa semestral en Verde Icesi (#4cb979).


Nivel 2: Moléculas Modulares (Media)​

Componentes compuestos que agrupan múltiples átomos y gestionan estructuras de datos complejas.

08. Tarjeta de Asignatura con Barra de Progreso​

Componente Interactivo #08
DaisyUI + Tailwind (Icesi 2026)

Tarjeta modular que resume la información de un curso universitario: cabecera con gradiente institucional (Azul Icesi #5454e9 a Morado Icesi #865cf0), código de asignatura, badge de créditos académicos, docente a cargo, salón, barra de progreso del semestre y acciones de acceso.


09. Panel de Analítica Bento Multi-Métrica​

Componente Interactivo #09
DaisyUI + Tailwind (Icesi 2026)

Panel horizontal que acopla múltiples indicadores de rendimiento académico en una sola unidad cohesiva con divisores internos, iconos vectoriales y subtítulos porcentuales en Verde Icesi (#4cb979) y Morado Icesi (#865cf0).


10. Notificación Flotante Estilo Toast Institucional​

Componente Interactivo #10
DaisyUI + Tailwind (Icesi 2026)

Tarjeta flotante de confirmación de eventos con icono circular de éxito en Verde Icesi (#4cb979), mensaje descriptivo, identificador de transacción o commit y botón de descarte rápido.


11. Globo de Conversación de Asesoría Académica​

Componente Interactivo #11
DaisyUI + Tailwind (Icesi 2026)

Hilo de mensajería asincrónica que posiciona los mensajes del estudiante a la izquierda y las respuestas del docente o monitor a la derecha con Azul Icesi (#5454e9), marcas de tiempo y avatar de usuario.


12. Fila de Directorio Estudiantil con Menú de Acciones​

Componente Interactivo #12
DaisyUI + Tailwind (Icesi 2026)

Fila de tabla de datos administrativos que organiza avatar con máscara de esquinas redondeadas (squircle), nombre y código del estudiante, programa académico, badge de estado en Verde Icesi (#4cb979) y botón de acción en Azul Icesi (#5454e9).


13. Rastreador de Hitos de Entrega por Pasos​

Componente Interactivo #13
DaisyUI + Tailwind (Icesi 2026)

Línea de tiempo secuencial que ilustra los hitos o sprints de un proyecto de desarrollo, indicando qué etapas han sido completadas con Azul Icesi (#5454e9), cuál se encuentra activa hoy y cuáles están pendientes.


14. Selector de Etiquetas Temáticas con Checkboxes​

Componente Interactivo #14
DaisyUI + Tailwind (Icesi 2026)

Grupo interactivo de filtros temáticos presentados como píldoras de insignia (badges) activables, donde las etiquetas seleccionadas adoptan el Azul Icesi (#5454e9) y las disponibles permanecen neutras en Gris 2 (#cecfd4).


Nivel 3: Organismos Complejos (Alta)​

Estructuras completas de interfaz que orquestan múltiples moléculas, layouts y flujos de acción.

15. Tarjeta de Evento o Hackathon con Cuenta Regresiva​

Componente Interactivo #15
DaisyUI + Tailwind (Icesi 2026)

Tarjeta de convocatoria institucional que incluye distintivo de evento, indicador de cupos restantes en Naranja Icesi (#e9683b), título, horario y auditorio, un reloj modular de cuenta regresiva en tipografía monoespaciada con dígitos en Azul Icesi (#5454e9) y botón de registro de equipo.


16. Barra de Navegación de Aplicación con Menú de Usuario​

Componente Interactivo #16
DaisyUI + Tailwind (Icesi 2026)

Barra de cabecera que unifica el logo institucional en Azul Icesi (#5454e9), nombre del portal y período académico a la izquierda, junto a un botón de notificaciones con badge contador en Morado Icesi (#865cf0) y avatar con menú desplegable a la derecha.


17. Formulario Modular de Solicitud de Tutoría​

Componente Interactivo #17
DaisyUI + Tailwind (Icesi 2026)

Formulario en tarjeta modular que incluye selector desplegable de tema de asesoría, área de texto multilínea para describir la inquietud técnica y botón primario de envío de solicitud en Azul Icesi (#5454e9).


18. Diálogo Modal de Confirmación de Entrega​

Componente Interactivo #18
DaisyUI + Tailwind (Icesi 2026)

Cuadro de diálogo de confirmación que advierte sobre una acción irreversible, con icono de advertencia en Naranja Icesi (#e9683b), título en negrita, texto descriptivo del archivo a enviar y barra de acciones con opciones de cancelar o enviar definitivamente en Azul Icesi (#5454e9).


19. Tarjeta de Perfil Docente con Pestañas y Horarios​

Componente Interactivo #19
DaisyUI + Tailwind (Icesi 2026)

Tarjeta de presentación de profesor que integra avatar con anillo en Azul Icesi (#5454e9), información departamental, sistema de pestañas (boxed tabs) para alternar entre asignaturas, horarios de asesoría y publicaciones, y botón de contacto.


20. Tablero de Entregables de Sprint en Acordeón Colapsable​

Componente Interactivo #20
DaisyUI + Tailwind (Icesi 2026)

Acordeón colapsable compuesto mediante el componente join de DaisyUI, que agrupa los sprints de la materia con distintivos de estado en Verde Icesi (#4cb979 para completado) y Amarillo Icesi (#e4eb60 para en progreso), flechas animadas e ítems de verificación técnica en el interior.


Matriz Resumen de Buenas Prácticas​

Aplica esta matriz de decisión antes de programar cada uno de tus componentes en Next.js:

DimensiónEnfoque RecomendadoAnti-patrón a Evitar
Directiva 'use client'Solo en componentes con eventos interactivos (onClick, onChange), hooks (useState, useEffect) o APIs del navegador.Poner 'use client' en todos los archivos por defecto "por si acaso".
Estilos & PaletaClases semánticas de DaisyUI (btn-primary, badge-secondary, bg-base-100) configuradas en el tema institucional icesi (Azul #5454e9, Morado #865cf0, Verde #4cb979, Naranja #e9683b, Amarillo #e4eb60).Estilos en línea (style={{...}}) o clases de color hexadecimal arbitrarias (bg-[#0033a0]).
Contrato de PropsInterfaces TypeScript claras y explícitas con tipos unión ('sm' | 'md' | 'lg').Props con tipo any o sin valores por defecto.
Estructura HTMLEtiquetas semánticas nativas (<button>, <dialog>, <nav>, <kbd>, <progress>).Anidar múltiples <div> vacíos sin significado semántico ni accesibilidad.
NavegaciónComponente <Link href="..."> de Next.js para rutas internas del portal.Etiquetas <a> convencionales que fuerzan una recarga completa de la página.