Tutorial Paso a Paso para Crear una Aplicación CRUD con Vue.js y Firebase

Tutorial Paso a Paso para Crear una Aplicación CRUD con Vue.js y Firebase

Tutorial Completo: Crear una Aplicación CRUD con Vue.js y Firebase

Aprende paso a paso cómo construir una aplicación CRUD (Crear, Leer, Actualizar, Eliminar) utilizando Vue.js para el frontend y Firebase como backend. Este tutorial está dirigido a desarrolladores principiantes e intermedios que desean iniciarse en el desarrollo web moderno, combinando un framework frontend progresivo con un servicio Backend-as-a-Service potente como Firebase.

Índice


Introducción

Las aplicaciones CRUD son la base de la mayoría de las aplicaciones web. En este tutorial aprenderás a construir una aplicación completa con Vue.js y Firebase, enfocándonos en el flujo de trabajo típico de desarrollo frontend con un backend en tiempo real y escalable.

Firebase ofrece varios servicios gestionados, entre ellos Firestore (base de datos NoSQL en tiempo real) y Authentication (gestión sencilla de usuarios), ideales para acelerar el desarrollo.

Nuestro objetivo será crear una app para gestionar una lista de tareas, donde los usuarios podrán iniciar sesión, crear, ver, actualizar y eliminar tareas.

Requisitos Previos

Antes de comenzar, asegúrate de tener:

  • Conocimientos básicos de JavaScript y HTML.
  • Node.js y npm instalados en tu sistema.
  • Editor de código, como VSCode.
  • Cuenta gratuita en Firebase.

Paso 1: Configurar el Proyecto Vue.js

Vamos a crear un proyecto nuevo usando Vue CLI, que nos facilita el setup inicial.

1.1 Instalar Vue CLI (si no lo tienes)

1.2 Crear el proyecto

Ejecuta:

Selecciona opciones predeterminadas o personalizadas. Para principiantes, la configuración predeterminada está muy bien.

1.3 Entrar al directorio e iniciar la app

Abre http://localhost:8080 para ver tu proyecto funcionando.

Paso 2: Integrar Firebase Firestore para Almacenar Datos

Ahora, vamos a conectar nuestra app con Firebase para guardar y gestionar datos.

2.1 Crear un proyecto en Firebase

  • Ingresa a https://console.firebase.google.com/
  • Crea un nuevo proyecto, asigna un nombre.
  • Activa Firestore Database en modo de prueba para facilitar el desarrollo.
  • Habilita Authentication con Email y Contraseña.

2.2 Añadir Firebase a Vue.js

Dentro de tu proyecto Vue, instala el SDK de Firebase:

2.3 Configurar Firebase

En src crea un archivo firebaseConfig.js:

Nota: Los valores los encuentras en la configuración de tu proyecto Firebase, en la sección “Configuración Web”.

Paso 3: Implementar Funcionalidades CRUD

3.1 Crear la estructura básica

En src/components crea un componente TodoList.vue.

3.2 Explicación:

  • Usamos las funciones de Firestore para manejar la base de datos.
  • onSnapshot permite actualizar en tiempo real la lista cuando cambien los datos.
  • Cada tarea posee un campo completed para marcar si está hecha.
  • Usamos await para asegurar que las operaciones asincrónicas se completen.

3.3 Importar y mostrar componente principal

En src/App.vue, reemplaza el contenido con:

Paso 4: Manejo de Estados y Eventos en Vue

Ya vimos el básico manejo de estados con ref y eventos con @click, @change, y @keyup.enter.

4.1 ¿Por qué ref?

ref crea un estado reactivo básico para variables escalares como strings o arrays.

4.2 Eventos importantes

  • @keyup.enter nos permite agregar la tarea cuando se presiona Enter.
  • @change actualiza el estado de completado.
  • @click borra la tarea seleccionada.

Estas interacciones hacen que la app responda instantáneamente a la interacción del usuario.

Paso 5: Autenticación Básica con Firebase Authentication

Para que los usuarios puedan iniciar sesión y cada uno gestione sus tareas, agreguemos Authentication.

5.1 Crear formulario de login

Crea un componente nuevo Auth.vue:

5.2 Integrar autenticación en la app

Modifica App.vue para mostrar contenido según estado de usuario:

5.3 Limitar acceso a tareas por usuario

Modifica TodoList.vue para filtrar tareas solo del usuario autenticado:

Esto asegura que cada usuario solo vea y modifique sus propias tareas.

Paso 6: Despliegue de la Aplicación

6.1 Generar build de producción

El resultado estará en la carpeta dist.

6.2 Desplegar con Firebase Hosting

Si aun no tienes Firebase CLI, instálalo:

Luego inicia sesión y configura hosting:

  • Selecciona el proyecto Firebase que creaste.
  • Usa dist como carpeta pública.
  • Elige “No” para configurar como SPA cuando pregunte (importante para Vue).

Finalmente sube tu app:

Obtendrás una URL pública para compartir tu aplicación.

Conclusión y Buenas Prácticas

En este tutorial “crear app Vue paso a paso” con Firebase, revisamos:

  • Cómo configurar un proyecto Vue.js moderno.
  • Integrar Firebase Firestore para una base de datos en tiempo real.
  • Implementar operaciones CRUD básicas y gestión reactiva de estados.
  • Añadir autenticación simple para usuarios.
  • Desplegar la app en Firebase Hosting fácilmente.

Buenas Prácticas:

  • Mantén tus claves API seguras y no las expongas en repositorios públicos.
  • Usa reglas de seguridad en Firestore para proteger los datos.
  • Separar componentes para mejor mantenimiento a medida que tu app crezca.
  • Considera usar Vuex o Pinia para manejo avanzado de estados cuando sea necesario.

¡Ahora tienes una base sólida para continuar desarrollando con Vue.js y Firebase! Si quieres aprender más temas, suscríbete y sigue explorando.