Python · Firebase · Email · Backend

Creación de una app en Python que comunica con Firebase

En este proyecto implementamos una aplicación en Python capaz de comunicarse con Firebase, descargar información almacenada en la base de datos y enviar correos electrónicos de forma automática.

El objetivo práctico será recuperar los datos de una colección y utilizarlos para enviar avisos por correo a los usuarios almacenados en Firebase.

Vídeo complementario

Si quieres ampliar el contenido del artículo, puedes consultar el siguiente vídeo:

1. Introducción

Firebase es una plataforma para el desarrollo de aplicaciones web y móviles lanzada en 2011 y adquirida por Google en 2014.

Se trata de una plataforma en la nube, integrada con Google Cloud Platform, que proporciona herramientas para crear, sincronizar y escalar proyectos sin necesidad de desarrollar toda la infraestructura desde cero.

Entre sus principales ventajas destacan las siguientes:

  • Sincronización sencilla de datos sin lógica compleja de comunicaciones.
  • Compatibilidad con aplicaciones web, Android, iOS, Unity y C++.
  • Escalado automático sobre la infraestructura de Google.
  • Posibilidad de crear proyectos sin servidor propio.
  • Amplia documentación oficial y comunidad activa.

2. Implementación

Este ejemplo se plantea desde el lado servidor. La cuenta de servicio de Firebase se carga desde Python, por lo que las credenciales privadas no llegan al navegador y el cliente no necesita permisos directos de lectura sobre la base de datos. Esa separación es importante si después los datos alimentan una app Angular, una tarea programada o un panel interno.

En este ejemplo, el objetivo será enviar un email a las direcciones almacenadas en Firebase. Para ello, se ha definido una colección de subastas con una estructura similar a la siguiente:

El primer paso consiste en instalar la librería firebase-admin:

A partir de este momento ya se podrá acceder al contenido almacenado en la base de datos. Esta información se recupera a partir de documentos JSON mediante el siguiente código:

Si analizamos el código, uno de los puntos clave es la obtención de las credenciales JSON a partir del fichero clave.json:

Para obtener este documento, puedes acceder a la consola de Google Cloud en el siguiente enlace: https://console.cloud.google.com/projectselector/apis/api/firebasedatabase.googleapis.com/overview?hl=es

Una vez configurado el acceso, ya es posible recuperar directamente la información de la base de datos:

En resumen, Firebase permite construir soluciones backend ligeras y muy rápidas de integrar, especialmente útiles cuando queremos centralizar datos y automatizar acciones como el envío de correos.

Si el siguiente paso es exponer esos datos a una aplicación Angular, conviene revisar el ejemplo de consumo de APIs con HttpClient y la guía para proteger una API Angular con Nginx y FastAPI.