# Firestore

Cloud Firestore (opens new window) es una base de datos de documentos NoSQL (opens new window) que permite almacenar, sincronizar y consultar fácilmente datos para tus apps móviles y web a escala global.

Usa colecciones y documentos para estructurar tus datos con facilidad. Crea jerarquías para almacenar datos relacionados y recuperar los datos que necesitas mediante consultas expresivas de manera sencilla.

El BackEndBase cuenta con una biblioteca de módulos diseñados para trabajar con Cloud Firestore de manera sencilla, que están disponibles de inmediato y listos para usar, lo que le dá a tu nuevo proyecto una ventaja en muchos aspectos.

Si bien el BackEndBase viene con una configuración basica y lista para usar, por defecto no se usa ningún motor de Bases de Datos, puede cambiar esto, ubicando la línea siguiente, en el archivo app/config/databases/settings.py:

# set the Database Provider
DATABASE_PROVIDER = 'nosql'

Recuerda:

  • Al elegir nosql, El BackEndBase deshabilitará la conexión a otros motores de Bases de Datos.
  • Sí deseas usar un motor de Bases de Datos relacional y Firestore al mismo tiempo, debes cambiar la configuración a mysql ó postgresql.

Para más información consulta el módulo firestore_model, que detalla el uso de los metodos disponibles.

# Uso de Firestore en modo local

Para utilizar Firestore en modo local, en servidores personalizados y/ó en Contenedores, define una variable de entorno en el S.O., que tenga la ruta de una cuenta de servicio (opens new window).

export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account.json"

También es posible hacer uso del archivo .flaskenv, ubicado en la raiz del proyecto y fijar la variable de entorno, mencionada arriba:

GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json

# Entorno en la nube (Google Cloud)

En este caso, Si tu aplicación se ejecuta dentro de un entorno de Google Cloud que tiene una cuenta de servicio predeterminada (opens new window), la aplicación puede recuperar las credenciales de la cuenta de servicio para llamar a las API de Google Cloud. Entre estos entornos, se incluyen Compute Engine, Google Kubernetes Engine, App Engine, Cloud Run y Cloud Functions. Recomendamos usar esta estrategia porque es más conveniente y segura que pasar las credenciales de forma manual. (opens new window)

# Esquema por defecto

El BackEndBase incluye datos de ejemplo, para cargar en tu Base de Datos de Firestore.

Revisa la carpeta /tools/firestore/schema para más información.

# Datos incluidos

  • applications
  • auth_clients
  • companies
  • countries
  • departments (solo Colombia)
  • cities (solo Colombia)
  • roles
  • status
  • users

# Issues

Para cualquier duda, comentario, sugerencia ó aporte, dirigete a la sección de issues. (opens new window) Antes de abrir un issue nuevo, revisa los ya existentes, en busca de una solución (posiblemente ya planteada) para el problema que se te presenta.