Aprende a Crear una Aplicación CRUD con Angular y Firebase Paso a Paso

Aprende a Crear una Aplicación CRUD con Angular y Firebase Paso a Paso

Tutorial completo: Crear una aplicación CRUD con Angular y Firebase

Aprende paso a paso cómo construir una aplicación CRUD (Crear, Leer, Actualizar, Eliminar) utilizando Angular y Firebase. Este tutorial está dirigido a desarrolladores principiantes e intermedios que desean aprender cómo integrar Angular con Firebase para autenticación y base de datos Firestore, creando así una aplicación moderna y serverless.


Índice

  1. Introducción
  2. Requisitos previos
  3. Configuración del proyecto Angular
  4. Integración con Firebase
  5. Creación del servicio para Firestore
  6. Componentes CRUD en Angular
  7. Despliegue básico de la aplicación
  8. Conclusión y buenas prácticas

Introducción

En este tutorial aprenderás a:

  • Crear un proyecto Angular desde cero.
  • Integrar Firebase para autenticación y manejo de datos con Firestore.
  • Construir componentes que implementen el flujo CRUD.
  • Desplegar la aplicación para que esté accesible online.

Esta guía es ideal para quienes buscan un proyecto práctico para aprender desarrollo frontend moderno con Angular y un backend serverless con Firebase.

Requisitos previos

  • Node.js instalado (versión 14 o superior recomendada)
  • Angular CLI instalado (npm install -g @angular/cli)
  • Cuenta de Firebase y proyecto creado (Firebase Console)
  • Editor de código como VSCode

Configuración del proyecto Angular

  1. Abre tu terminal o consola.
  2. Crea un nuevo proyecto Angular con routing y CSS:

  1. Navega al directorio del proyecto:

  1. Ejecuta la aplicación para confirmar que todo funciona:

Abre tu navegador en http://localhost:4200 para verificar.

Integración con Firebase

Configuración de Firebase

  1. Accede a https://console.firebase.google.com/ y crea un nuevo proyecto.
  2. En el Dashboard, agrega una nueva aplicación web y copia las configuraciones de Firebase, que lucen así:

  1. En Firebase, dentro del apartado “Authentication > Sign-in method”, habilita la autenticación por correo electrónico y contraseña.

  2. En “Firestore Database”, crea una base de datos en modo “modo de producción” o “modalidad de pruebas” (para aprender, modo pruebas está bien).

Instalación de AngularFire

AngularFire es la librería oficial que conecta Angular con Firebase.

Ejecuta:

Añadir configuración en Angular

Edita el archivo src/environments/environment.ts para agregar la configuración:

Reemplaza con tus datos reales.

En app.module.ts, importa AngularFire y Firestore:

Configuración de autenticación

Habilita la autenticación por correo y contraseña en Firebase, y usaremos AngularFireAuth para login/logout.

Creación del servicio para Firestore

Crea un servicio para manejar las operaciones CRUD y autenticación.

Genera el servicio:

Edita src/app/services/firebase.service.ts:

Explicación:

  • Se define una interface Item para manejar nuestros datos.
  • Métodos para añadir, obtener, actualizar y eliminar.
  • Manejo básico de autenticación con login y logout.

Componentes CRUD en Angular

Componente para listar datos

Genera el componente:

Edita src/app/components/item-list/item-list.component.ts:

Edición de la plantilla item-list.component.html:

Componente para crear y actualizar

Genera el componente:

Edita item-form.component.ts:

Plantilla item-form.component.html:

No olvides importar ReactiveFormsModule en app.module.ts:

Componente para autenticación (login)

Genera:

login.component.ts:

login.component.html:

Asegúrate de importar FormsModule en app.module.ts para manejo de ngModel:

Configuración de rutas

En app-routing.module.ts, configura:

Despliegue básico de la aplicación

Para desplegar tu app Angular en Firebase Hosting:

  1. Instala la CLI de Firebase si no la tienes:

  1. En la terminal del proyecto, inicia sesión:

  1. Inicializa Firebase Hosting:

  • Selecciona Hosting
  • Elige tu proyecto Firebase
  • Define dist/angular-firebase-crud como directorio público (reemplaza según el nombre real de carpeta dist que genera Angular)
  • Configura para SPA (respondiendo “sí” para rewrite all URLs to index.html)
  1. Genera la versión de producción:

  1. Finalmente, sube a Firebase Hosting:

Al terminar, la terminal mostrará la URL pública donde puedes acceder a tu app.

Conclusión y buenas prácticas

¡Felicidades! Ahora tienes una aplicación CRUD completa con Angular y Firebase que incluye autenticación y almacenamiento en Firestore.

Buenas prácticas a considerar:

  • Manejar errores adecuadamente en cada operación (mostrar mensajes amigables al usuario).
  • Utilizar Guards de Angular para proteger rutas y controlar acceso de usuarios autenticados.
  • Añadir validaciones y formularios más robustos.
  • Optimizar las consultas a Firestore con paginación o filtros.
  • Mantener las dependencias actualizadas y seguir las recomendaciones de seguridad.

Te invitamos a profundizar en Angular y Firebase para crear aplicaciones aún más potentes y escalables.

¿Listo para aplicar lo aprendido? Comienza creando nuevas funcionalidades, agrega estilos con Angular Material o Bootstrap, y personaliza tu app.


¡Empieza ya a crear aplicación CRUD Angular y domina desarrollo app Angular Firestore!