Contenido del curso
Estructura básica de una aplicación
Construyendo la aplicación: vista principal
Estructura de datos en Bubble para tareas
Resumen
Antes de tocar un solo píxel del diseño, necesitas definir la estructura de datos en Bubble. Este paso marca la diferencia entre una aplicación que funciona y una que se rompe al primer cambio, y es el cimiento sobre el que construirás cualquier clon de Todoist o gestor de tareas.
¿Qué es un data type en Bubble y para qué sirve?
Un data type es el equivalente a una tabla en una base de datos: un contenedor donde guardas campos relacionados entre sí. En Bubble, accedes a esta sección desde el menú lateral izquierdo, en el botón Data, donde por defecto se abre la pestaña Data Types [00:50].
Cada vez que creas un nuevo data type, Bubble añade automáticamente cuatro campos estándar:
- Creator, que identifica al usuario que creó el registro.
- Modified Date, la fecha de la última modificación.
- Created Date, la fecha de creación.
- Slug, un identificador único para URLs amigables.
¿Qué es un data type en Bubble? Es una tabla donde almacenas un conjunto de campos relacionados, como una tarea con su título, descripción y fecha. Cada data type representa una entidad de tu aplicación.
¿Cómo defino los campos básicos de una tarea?
Para replicar Todoist, lo primero es analizar qué información captura al crear una tarea: título, descripción, fecha, proyecto, etiquetas, prioridad y alertas. Cada uno de estos elementos se traduce en un campo dentro del data type Tarea [00:25].
Empieza escribiendo Tarea en New Type y pulsa Create. Después, usa Create New Field para añadir cada campo con su tipo correspondiente:
- Título: tipo text, porque guarda una cadena de texto.
- Descripción: tipo text, igual que el título.
- Fecha: tipo date, que en Bubble conserva tanto la fecha como la hora [02:05].
Este detalle del campo date es clave: al almacenar también la hora, podrás programar recordatorios precisos más adelante sin necesidad de campos adicionales.
¿Cómo vinculo tablas en Bubble usando relaciones entre data types?
Aquí aparece uno de los conceptos más potentes de Bubble: relacionar tablas entre sí. En Todoist, cada tarea pertenece a un proyecto, así que necesitas crear un nuevo data type llamado Proyecto con un único campo de momento, Nombre, de tipo text [02:45].
Una vez creado, vuelve a la tabla Tarea y añade un campo llamado Proyecto. Al desplegar los tipos de dato, verás que debajo de los tipos estándar aparecen los data types que ya creaste. Selecciona Proyecto y pulsa Create.
Con esto le dices a Bubble que el campo Proyecto dentro de Tarea hereda toda la estructura del data type Proyecto. Así puedes mostrar después solo las tareas asignadas a un proyecto específico, sin duplicar información.
¿Cómo se relacionan dos tablas en Bubble? Creas un campo dentro de una tabla y le asignas como tipo otra tabla existente. Bubble enlaza ambos data types y permite consultar datos relacionados.
¿Cuándo necesito una lista de datos en lugar de un único valor?
Las etiquetas funcionan distinto a los proyectos: una tarea puede tener varias etiquetas a la vez. Por eso primero creas un data type Etiquetas con un campo descripción de tipo text [04:10].
Después, en la tabla Tarea, añade un campo llamado Etiquetas y selecciona el tipo Etiquetas. Aquí está la diferencia: marca el checkbox que aparece en la parte inferior con la opción This field is a list (multiple entries). Eso convierte el campo en una colección, no en un valor único.
Después de marcarlo, Bubble mostrará que etiquetas es una list of etiquetas, es decir, un conjunto vinculado a cada tarea. Esta misma lógica te servirá cuando necesites asignar múltiples colaboradores, archivos o categorías a un registro.
¿Qué tipo de dato uso para prioridades y alertas?
La prioridad en Todoist se representa con niveles, así que en la tabla Tarea crea un campo llamado Prioridad con tipo número. Esto te permitirá ordenar, filtrar y aplicar lógica condicional según el nivel asignado [05:30].
Para las alertas, la pista es directa: usa tipo fecha, porque una alerta no es más que un momento concreto en el tiempo en el que la aplicación debe notificar al usuario. Al usar date, aprovechas que Bubble guarda hora y minuto en el mismo campo.
Con estos campos definidos, tu base de datos queda lista para soportar la lógica visual y las acciones que construirás en las siguientes pantallas. Cuéntame en los comentarios cómo resolviste el campo de alerta y qué otros data types añadirías a tu clon de Todoist.