Implementación de Firestore
Clase 28 de 36 • Curso de Flask
Contenido del curso
- 21

Planteamiento del proyecto: To Do List
01:54 - 22

App Factory
06:49 - 23

Uso de Blueprints
13:49 - 24

Blueprints II
07:30 - 25

Base de datos y App Engine con Flask
03:11 - 26
Configuración de Google Cloud SDK
00:17 - 27

Configuración de proyecto en Google Cloud Platform
07:11 - 28

Implementación de Firestore
11:53 - 29

Autenticación de usuarios: Login
11:20 - 30

Autenticación de usuarios: Logout
10:03 - 31

Signup
10:53 - 32

Agregar tareas
08:27 - 33

Eliminar tareas
13:24 - 34

Editar tareas
09:01 - 35

Deploy a producción con App Engine
07:43 - 36

Conclusiones
01:27
¿Cómo iniciar un proyecto en Google Cloud Platform?
Iniciar un nuevo proyecto en Google Cloud Platform (GCP) es un paso crucial para aprovechar sus diversas herramientas y servicios en la nube. Esta guía te guiará a través del proceso, asegurando que configures de manera efectiva tu entorno para desarrollos futuros.
¿Cómo crear un servicio Firestore?
-
Creación del documento FirestoreService.py:
- Empieza creando un archivo llamado
FirestoreService.pydonde alojarás toda la lógica para interactuar con Firestore.
- Empieza creando un archivo llamado
-
Importación de Firebase Admin:
- Inicializa el entorno necesario importando la biblioteca de Firebase Admin, que facilita la comunicación con Firestore:
import firebase_admin from firebase_admin import credentials, firestore
- Inicializa el entorno necesario importando la biblioteca de Firebase Admin, que facilita la comunicación con Firestore:
-
Configuración del entorno:
- Debido a problemas con el reconocimiento del ambiente virtual en algunas configuraciones de SDK, asegúrate de que tu editor de texto está correctamente configurado.
-
Inicialización de la aplicación:
- Configura e inicializa la aplicación para conectar con Firestore usando las credenciales de aplicación predeterminadas:
cred = credentials.ApplicationDefault() firebase_admin.initialize_app(cred)
- Configura e inicializa la aplicación para conectar con Firestore usando las credenciales de aplicación predeterminadas:
-
Creación de clientes e implementación de métodos:
- Crea una instancia de Firestore y desarrolla el método
getUserspara obtener los usuarios desde la colección:db = firestore.client() def getUsers(): users_ref = db.collection(u'users') return users_ref.get()
- Crea una instancia de Firestore y desarrolla el método
¿Cómo ejecutar código de prueba?
Para asegurar que el servicio Firestore está correctamente configurado, es vital ejecutar algunas pruebas.
-
Configuración del archivo principal:
- Dentro de tu archivo
main, importa e invoca el método para comprobar su funcionalidad:from app.firestore_service import getUsers users = getUsers() for user in users: print(user.id) # Imprime ID del usuario
- Dentro de tu archivo
-
Resultados esperados:
- Un mensaje de advertencia puede aparecer, indicando una falta de uso de una clave JSON para la conexión. No obstante, no afecta funcionalmente el proceso de desarrollo actual.
¿Cómo recuperar todos los "to-dos"?
-
Configuración para obtener los "to-dos":
- Implementa una función llamada
getTodosque recupere los "to-dos" asociados a un usuario específico:def getTodos(user_id): todos_ref = db.collection(u'users').document(user_id).collection(u'todos') return todos_ref.get()
- Implementa una función llamada
-
Estrategia de validación:
- Aunque no se realiza una validación rigurosa de contraseñas durante el inicio de sesión en el ejemplo, puede implementarse un sistema más robusto usando Flask Login en futuras iteraciones.
¿Cómo implementar cambios en tu aplicación?
Con las funciones básicas implementadas, observa cómo reflejar estos cambios en tu aplicación de Flask.
-
Actualización de Plantillas: Asegúrate de integrar las nuevas funciones de Firestore con tus plantillas HTML a través de macros y transformaciones de diccionario para mostrar descripciones y otros detalles de "to-dos".
-
Revisar la estructura de tu aplicación: A medida que añadas más funcionalidades, verifica la correcta organización y estructuración de tu código, manteniendo una lógica clara y mantenible.
Estas pautas te permitirán aprovechar al máximo las capacidades de GCP, proporcionando una base sólida para el desarrollo de aplicaciones con interacción directa en tu base de datos con Firestore. Al seguir aprendiendo, podrás atraer más características avanzadas, como el inicio de sesión autentificado y la integración más estricta de seguridad y gestión de datos.