Crea una Aplicación CRUD con Vue.js y Firebase en 10 Pasos

Crea una Aplicación CRUD con Vue.js y Firebase en 10 Pasos

Tutorial Vue.js Firebase: Cómo construir una aplicación CRUD paso a paso

En este tutorial Vue.js Firebase aprenderás a crear una aplicación CRUD (Crear, Leer, Actualizar, Eliminar) usando Vue.js para el frontend y Firebase como backend. Este tutorial está diseñado para desarrolladores principiantes e intermedios que desean iniciar en el desarrollo frontend con Vue.js e integrar Firebase Firestore para almacenamiento y autenticación básica.

Índice


¿Qué vamos a construir?

Una aplicación web simple donde los usuarios pueden crear, ver, actualizar y eliminar notas. Utilizaremos:

  • Vue.js para el desarrollo frontend
  • Firebase Firestore para almacenar las notas
  • Firebase Authentication para manejo de usuarios (autenticación básica con email y contraseña)

Este proyecto será una base sólida para aprender las funcionalidades esenciales de desarrollo frontend Vue.js y el uso de Firebase como backend, perfecto para dominar el tema con ejemplos reales.

Configuración del entorno

Para comenzar, asegúrate de tener instalado lo siguiente:

Instalación de Vue CLI

Abre la terminal e instala Vue CLI globalmente si no lo tienes:

Verifica la instalación:

Deberías ver un número de versión.

Creación del proyecto Vue.js

Vamos a crear un nuevo proyecto con Vue 3:

  • Elige la opción Default (Vue 3, Babel, ESLint)
  • Navega dentro del proyecto:

Arranca el servidor de desarrollo para comprobar que todo funciona:

Abre http://localhost:8080 en tu navegador, verás la página inicial de Vue.

Configuración de Firebase y Firestore

Crear un proyecto en Firebase Console

  1. Entra en Firebase Console.
  2. Haz clic en Agregar proyecto y sigue los pasos.
  3. Una vez creado, accede al panel del proyecto.

Agregar Firestore

  1. En el menú lateral, selecciona Firestore Database.
  2. Haz clic en Crear base de datos.
  3. Elige el modo prueba para desarrollo (permite leer/escribir sin reglas estrictas).
  4. Selecciona la ubicación cerca de ti.

Configurar Authentication

  1. Selecciona Authentication en el menú lateral.
  2. Ve a la pestaña Método de inicio de sesión.
  3. Habilita Correo electrónico y contraseña.

Obtener configuración para Web

  1. En el panel principal, haz clic en el icono de configuración (engranaje) > Configuración del proyecto.
  2. En la sección Tus apps, haz clic en </> para registrar una app web.
  3. Escribe el nombre (ejemplo: vue-crud-app) y registra la app.
  4. Firebase generará un snippet con la configuración:

Guárdalo para usarlo luego.

Integración de Firebase en Vue.js

Ahora integraremos Firebase en nuestro proyecto.

Instalar Firebase SDK

Desde la raíz del proyecto, instala Firebase:

Crear archivo de configuración

Dentro de la carpeta src, crea un archivo firebase.js:

Recuerda reemplazar las variables con tus credenciales obtenidas en Firebase.

Creación de componentes Vue para CRUD

Vamos a construir un componente que muestre una lista de notas, y permita crear, editar y eliminar.

1. Crear un componente Notes.vue

Dentro de src/components/, crea Notes.vue:

Explicación paso a paso:

  • Usamos Firestore para almacenar notas en la colección notes.
  • onSnapshot escucha en tiempo real los cambios para actualizar la lista.
  • addNote crea una nota nueva con el texto introducido.
  • deleteNote elimina la nota seleccionada.
  • Editamos texto en línea, guardando con updateNote.

2. Usar el componente en App.vue

Modifica src/App.vue para mostrar nuestro componente:

Implementación de autenticación básica

Agreguemos funcionalidad para que solo usuarios autenticados puedan acceder.

1. Crear componente Auth.vue

Crea en src/components/Auth.vue:

2. Controlar acceso a notas

Modifica src/App.vue para mostrar componente Auth y condicionar el acceso a Notes según usuario autenticado:

Despliegue de la aplicación

Una vez terminada y probada, vamos a desplegar la app para que esté accesible en internet.

Usando Firebase Hosting

Firebase tiene hosting estático muy fácil de usar.

  1. Instala Firebase CLI globalmente:

  1. Inicia sesión:

  1. Inicializa el proyecto en la raíz de tu aplicación:

  • Selecciona Hosting
  • Selecciona el proyecto Firebase que creaste antes
  • Configura la carpeta pública como dist (directorio de build de Vue)
  • Configura como SPA respondiendo a la opción
  1. Construye tu aplicación Vue para producción:

  1. Despliega:

Firebase CLI te dará la URL pública donde está tu app.

Conclusión y buenas prácticas

¡Felicidades! Has creado una aplicación CRUD Vue.js con Firebase Firestore y autenticación básica. Este tutorial Vue.js Firebase cubre los fundamentos de desarrollo frontend Vue.js e integración con Firebase para backend, almacenamiento y autenticación.

Buenas prácticas a seguir:

  • Seguridad: Cambia las reglas de Firestore para que solo usuarios autenticados puedan acceder y modificar sus datos.
  • Validación: Implementa validaciones más robustas en formularios.
  • Manejo de errores: Mejora el manejo de errores y feedback para el usuario.
  • Optimización: Usa Vuex o Pinia para manejo de estado en proyectos más grandes.

¿Qué sigue?

  • Explora la documentación oficial de Vue.js
  • Aprende sobre reglas de seguridad de Firestore
  • Añade funcionalidades como perfiles de usuario, subida de archivos y notificaciones.

Si te gustó este tutorial, ¡comparte y comienza tu camino en el desarrollo frontend Vue.js con Firebase!