Construye una Aplicación de Lista de Compras con Angular y Firebase: Guía Paso a Paso

Construye una Aplicación de Lista de Compras con Angular y Firebase: Guía Paso a Paso

Tutorial Angular Firebase: Cómo crear una app lista de compras Angular desde cero

En este tutorial detallado, aprenderás a crear una aplicación de lista de compras utilizando Angular para el frontend y Firebase Firestore como base de datos en tiempo real. Esta guía está pensada para desarrolladores principiantes e intermedios que quieren iniciarse en el desarrollo frontend moderno integrado con servicios en la nube, como Firebase.

Nos enfocaremos en cada paso: desde la configuración inicial de Angular, integración de Firebase y Firestore, creación y gestión de componentes, implementación de operaciones CRUD, hasta el manejo básico de autenticación y el despliegue de la aplicación final. Además, se incluyen bloques de código claros y explicaciones detalladas para facilitar su comprensión.


Índice


Requisitos Previos

Antes de empezar, asegúrate de tener:

  • Node.js instalado (versión 14 o superior recomendada). Descargar Node.js
  • Angular CLI instalado globalmente:

  • Una cuenta de Google para acceder a Firebase.
  • Editor de código (recomendado: Visual Studio Code).

1. Configuración del Proyecto Angular

Crear un nuevo proyecto Angular

Abre tu terminal y ejecuta:

  • --routing=true incluye módulo de rutas para navegación futura.
  • --style=css indica que usaremos CSS para estilos.

Angular CLI te preguntará sobre opciones de configuración, selecciona las que prefieras.

Ejecutar la aplicación base

Para asegurarte que todo está OK:

Abre un navegador en http://localhost:4200 y verás la página de bienvenida de Angular.


2. Configurar Firebase y Firestore

Crear un proyecto en Firebase

  1. Ve a Firebase Console.
  2. Haz clic en “Agregar proyecto” y completa los datos.
  3. Al crear el proyecto, en “Firestore Database”, crea una nueva base de datos en modo de prueba (para desarrollo).

Obtener la configuración del proyecto Firebase

  1. En la consola de Firebase, ve a “Configuración del proyecto” > “Tus apps”
  2. Registra una app Web y copia la configuración:

Esta configuración la necesitaremos para integrar Firebase en Angular.


3. Integración de Firebase en Angular

Instalar la librería AngularFire

Ejecuta:

Configurar AngularFire

Edita el archivo src/environments/environment.ts y añade la configuración de Firebase:

Importar módulos Firebase en app.module.ts

Abre src/app/app.module.ts y modifica:

Esto configura Angular para utilizar Firebase, Firestore y Authentication.


4. Implementar Autenticación Básica con Firebase Authentication

Para gestionar usuarios, implementaremos autenticación por correo y contraseña.

Crear servicio de autenticación

Código de auth.service.ts

Crear componentes para login y registro

Ejemplo parcial: login.component.ts

Agregar rutas para autenticación

En app-routing.module.ts, añade:

Puedes además crear guards para proteger rutas, pero para este tutorial básico esto es suficiente.


5. Crear Componentes para la Lista de Compras

Generar componente

Definir modelo de producto

Creamos una interfaz simple producto.model.ts en src/app/models:

Crear servicio para Firestore

Código de productos.service.ts


6. Operaciones CRUD en Firestore

Mostrar lista de productos en el componente

lista-compras.component.ts:

HTML para mostrar y gestionar ( lista-compras.component.html )

Explicación

  • La lista se carga en tiempo real usando un Observable de Firestore.
  • agregarProducto() crea un producto nuevo.
  • toggleComprado() actualiza el estado comprado.
  • eliminarProducto() borra el producto.

7. Despliegue de la Aplicación

Instalar Firebase CLI

Iniciar sesión y configuración

Selecciona:

  • Hosting: para desplegar tu app
  • Usa build de Angular (carpeta dist/lista-compras-angular después de compilar)

Construir la aplicación para producción

Desplegar

Firebase te dará una URL pública para acceder a tu aplicación lista de compras en Angular con Firebase.


Conclusión y Buenas Prácticas

En este tutorial, vimos paso a paso cómo crear una app lista de compras Angular integrada con Firebase Firestore y autenticación básica, implementando un flujo completo de desarrollo frontend moderno.

Recapitulando:

  • Configuramos un proyecto Angular con Angular CLI.
  • Integramos Firebase para base de datos en tiempo real y autenticación.
  • Creamos componentes y servicios para listar, agregar, actualizar y eliminar productos.
  • Implementamos la gestión básica de usuarios con Firebase Authentication.
  • Desplegamos la aplicación usando Firebase Hosting.

Buenas prácticas para proyectos Angular con Firebase:

  • Usa observables para manejar datos en tiempo real.
  • Protege rutas con Guards y roles si la app crece.
  • Maneja errores y estados de carga para buena UX.
  • Organiza el código en servicios para separar lógica.
  • Optimiza reglas de seguridad en Firestore.

¡Ahora te toca a ti!

Prueba agregar funcionalidades adicionales como categorías, filtros o integración móvil. Comparte tu proyecto y continúa explorando el desarrollo frontend con Angular y Firebase.