Desarrolla una Aplicación de Lista de Compras con Vue.js y Firebase Paso a Paso

Desarrolla una Aplicación de Lista de Compras con Vue.js y Firebase Paso a Paso

Tutorial Vue.js y Firebase: Crear una App de Lista de Compras paso a paso

¡Bienvenido a este tutorial detallado para desarrolladores principiantes e intermedios! Aquí aprenderás a crear una aplicación web para gestionar listas de compras utilizando Vue.js y Firebase, cubriendo desde la configuración inicial hasta el despliegue final.

Este proyecto combina lo mejor del desarrollo frontend moderno con Vue y un backend serverless gracias a Firebase, integrando autenticación y base de datos en tiempo real. Al final, tendrás una app funcional donde tus usuarios podrán agregar, editar, eliminar y marcar productos como comprados.


Índice


1. Configuración del Proyecto Vue.js

Vamos a comenzar creando un nuevo proyecto Vue.js utilizando Vue CLI, que nos facilita crear un entorno profesional rápidamente.

Paso 1: Instalar Vue CLI (si no lo tienes)

Paso 2: Crear el proyecto

Selecciona las opciones para Vue 3, Babel, Router y Vuex si deseas (en nuestro caso usaremos Composition API, Vuex es opcional).

Paso 3: Navegar al directorio y probar

Abre http://localhost:8080 para verificar que la app básica de Vue está funcionando.


2. Integración con Firebase

2.1 Creación del proyecto en Firebase

  1. Ve a https://console.firebase.google.com/
  2. Crea un nuevo proyecto, por ejemplo: ListaComprasApp.
  3. En el dashboard, agrega una nueva app web y copia la configuración (apiKey, authDomain, etc.).

2.2 Instalación y configuración del SDK de Firebase

Vamos a instalar Firebase en nuestro proyecto Vue:

Luego, crea un archivo src/firebase.js para inicializar Firebase:

Reemplaza los valores en firebaseConfig por los obtenidos en la consola Firebase.


3. Autenticación de Usuarios con Firebase Authentication

Para gestionar el acceso de usuarios, implementaremos la autenticación con correo y contraseña.

Paso 1: Habilitar el método en Firebase

Desde la consola Firebase > Authentication > Método de inicio de sesión > Habilitar correo y contraseña.

Paso 2: Crear componentes básicos de login y registro

En src/components, crea Login.vue y Register.vue.

Ejemplo de Register.vue:

Implementa un Login.vue de forma similar con signInWithEmailAndPassword.

Paso 3: Configurar rutas y protecciones

Usa Vue Router para navegación y protege las rutas que requieran usuario autenticado.


4. Gestión de la Base de Datos en Tiempo Real

Utilizaremos Firebase Realtime Database para sincronizar las listas de compras.

Paso 1: Crear estructura básica en Realtime Database

En la consola Firebase > Database > Realtime Database > Crear base de datos (modo de prueba para desarrollo).

Paso 2: Organización de datos

Una estructura recomendada:

Paso 3: Lectura y escritura de datos

En src/composables/useListaCompras.js implementaremos un hook para manejar esta lógica.

Este hook podemos consumir en nuestros componentes para mostrar y manipular la lista.


5. Implementación de Funcionalidades (CRUD) para la Lista

Paso 1: Componente ListaCompras.vue

¡Con esto tienes una lista que se sincroniza en tiempo real mediante Firebase Realtime Database!


6. Manejo del Estado con Vue Composition API

En este tutorial usamos Composition API para organizar la lógica de forma modular — el hook useListaCompras es un patrón recomendado para manejar estado y efectos secundarios.

Si prefieres usar Vuex, la lógica de Firebase puede integrarse en actions y mutations, pero Composition API aporta mayor simplicidad para proyectos pequeños y medianos.


7. Despliegue de la Aplicación

Una vez terminada, es momento de publicar la app para que sea accesible para tus usuarios.

Paso 1: Construir la app para producción

Esto crea una carpeta dist con los archivos listos.

Paso 2 (opcional): Despliegue con Firebase Hosting

  1. Instala Firebase CLI:

  1. Inicializa Firebase Hosting dentro del directorio del proyecto:

Selecciona la carpeta dist como public.

  1. Despliega:

Tu app estará disponible en una URL proporcionada.


Conclusión y Buenas Prácticas

En este tutorial hemos cubierto un proyecto completo para crear una app lista de compras Vue con Firebase paso a paso, integrando autenticación, base de datos en tiempo real, y funcionalidades CRUD.

Recomendaciones para tu desarrollo:

  • Seguridad: Configura reglas en Firebase para proteger datos según usuario.
  • UX: Añade validaciones y mensajes para mejorar la experiencia.
  • Optimización: Considera usar Firestore si necesitas consultas avanzadas.
  • Estado: Modulariza la lógica para escalar la app eficazmente.

¡Te invitamos a profundizar y adaptar este proyecto según tus necesidades! Comparte tu experiencia y contribuye a la comunidad.


Con este tutorial Vue.js Firebase, tienes la base para desarrollar apps web modernas y serverless. ¡Manos a la obra!