Curso para crear tus aplicaciones con Laravel y MongoDB

Curso en Legacy (No tendrá más actualizaciones)

 

 

MongoDB

MongoDB es una base de datos NoSQL de alto rendimiento y escalable. A diferencia de las bases de datos relacionales , en MongoDB los datos se almacenan en documentos JSON, los cuales se pueden anidar. Gracias a los JSONs podemos tener un esquema flexibilidad para anidar y modelar los datos.

MongoDB es compatible con muchas herramientas, lo cual es ideal ya que, podemos usarlo junto con nuestros desarrollos; por ejemplo, podemos usarlo con lenguajes de programación como PHP, Python, Java y Node.js.

Gracias a la integración con PHP, podemos usarlo en un proyecto en Laravel.

En resumen , MongoDB es una poderosa base de datos NoSQL, que ofrece una gran flexibilidad en el modelado de los datos y características de alta disponibilidad y escalabilidad.

Laravel

De Laravel no voy a hablarte mucho, ya que, si estas tomando este curso, significa que ya tienes conocimientos en Laravel al menos de manera básica; Laravel es un exelente framework con el cual podemos desarrollar todo tipo de proyectos webs; tenemos funcionalidades que nos facilitan mucho la vida con la integración de otras tecnologías facilmente, como por ejemplo Stripe.

 

 

 

 Laravel con Mongo DB

Usar Laravel y MongoDB, es posible gracias a que existe un conector de PHP para la mencionada base de datos NoSQL; de esta manera, se tiene una interfaz para interactuar con MongoDB en Laravel. Además, se puede usar Eloquent para modelar y realizar consultas a las colecciones de MongoDB; para esto, existe un paquete para Laravel que es el que usamos en el curso; gracias a este paquete, se puede realizar consultas a la colección de MongoDB usando la sintaxis de consulta de Eloquent de manera directa; así que, en buena medida la integración de Laravel y MongoDB es transparente.

En resumen, trabajar con Laravel y MongoDB implica configurar la conexión a la base de datos, crear modelos para las colecciones, y realizar consultas utilizando la sintaxis de consulta de Eloquent o de MongoDB; todas estas operaciones las vemos en el curso en detalle, mostrando como realizar los procesos CRUDs adaptados a MongoDB.

A la final, la integración de Mongo en Laravel consiste en dotar a Eloquent de poder aceptar las consultas, realizarlas en Mongo y poder convertirlas a objetos y arrays en PHP.

Planificación del curso

En el curso vamos a preparar primero el ecosistema de MongoDB y su integración con Laravel (vamos a emplear un entorno Windows con Laragon pero perfectamente puedes emplear otro Sistema Operativo).

  1. Aprender a conectarnos a MongoDB y realizar consultas básicas tipo CRUD mediante el cliente de la terminal.
  2. Crear un proyecto Laravel y configurar el mismo con MongoDB; instalar TODO lo necesario para que Laravel pueda trabajar con MongoDB.
  3. Hacer un sencillo CRUD en Laravel con MongoDB para aplicar lo aprendido.
  4. Trabajar con las relaciones de uno a uno, uno a muchos y muchos a muchos en MongoDB
  5. Trabajar con las relaciones de uno a uno, uno a muchos y muchos a muchos en Laravel con MongoDB.
  6. También vamos a hacer integración con el uso de las funciones de Agregación y Proyecciones en MongoDB y su potencial uso en Laravel.

Además de varios desarrollos interesantes que se irán agregando al curso y para eso siéntete libre de ver las introducciones a cada sección del curso para saber exactamente qué es lo que vamos a hacer.

Por lo tanto, esto es un curso básico, -en el cual tienes que tener conocimiento en Laravel- en el cual aprenderemos a integrar MongoDB con Laravel y poder emplear la totalidad del framework y sus funcionalidades básicas con este motor de base de datos NoSQL
Recuerda que puedes ver las introducciones de todas las secciones de manera gratuita aquí en Udemy, para que sepas exactamente qué vamos a abordar en cada sección.

Requisito del curso

Para tomar este curso es fundamental que tienes que conocer cómo desarrollar tus aplicaciones en Laravel, ya que todo el desarrollo que iremos haciendo desde este framework NO será de caracteres introductivo y no nos pararemos demasiado en explicar elementos o funcionalidades que son básicas del framework, ya que el objetivo del curso es aprender más que las bases en MongoDB y cómo podemos emplear todo esto mediante Laravel y por supuesto emplear dicha conección de la manera más eficiente.

 

 

  • Este curso tiene el objetivo de enseñar los elemento básicos y no tan básicos de MongoDB; conoceremos su estructura o cómo está compuesto el mismo, como preparar todo el entorno, instalar el mismo y por supuesto realizar nuestras primeras consultas CRUD con MongoDB; aprenderemos el mismo tomando como base el esquema relacional -por ejemplo- con MySQL.
  • El curso es progresivo, iremos de a poco, aprendiendo los elementos básicos en MongoDB mediante el cliente que podemos ejecutar mediante la terminal y replicando lo aprendido con MongoDB y su cliente en el ambiente Laravel; iremos creando en el proceso una pequeña aplicación funcional tipo CRUD e iremos agregando desarrollos y funcionalidades interesantes en cuando su implementación que correspondan con los visto con anterioridad nativamente en MongoDB

 

Por aquí tienes el listado completo de clases que vamos a cubrir en el libro y curso:

Introducción

  • 1 Introducción

  • 2 Estructura del curso

  • 3 Requisitos para tomar el curso

    Para tomar el curso necesitas tener conocimientos básicos en Flask y Django y las dependencias de estos, es decir, conocer las tecnologías web del lado del cliente como CSS, JavaScript, HTML, etc; recuerda que cuento con cursos para estos framework tanto para Flask básico como para Django; todos con muchísimas horas de contenido en los cuales abordamos todos tipos de tema.

Preparar el entorno de desarrollo

  • 1 Instalar MongoDB en Windows con Laragon

    Vamos a instalar MongoDB en Windows empleando Laragon.

  • 2 Agregar la extensión (DLL) de MongoDB a PHP en Windows/Laragon

    Vamos a agregar el DLL para PHP para poder emplear MongoDB con PHP.

  • 3 Actualizar MongoDB Windows con Laragon

    Vamos a aprender a variar una versión de mongoDB a otra versión.

  • 4 Instalar MongoDB en MacOS

    Vamos a instalar MongoDB en MacOS.

  • 5 Agregar la extensión (DLL) de MongoDB a PHP en general

    Vamos a agregar el DLL para PHP para poder emplear MongoDB con PHP.

  • 6 Agregar dependencia para trabajar con MongoDB

    Vamos a agregar la dependencia en Laravel para poder trabajar con MongoDB.

  • 7 Opcional: Instalar MongoDB en Windows (Sin Laragon)

    Opcional: Instalar MongoDB en Windows (Sin Laragon)

Primeros pasos con MongoDB: Operaciones CRUD

  • 1 Documentación a emplear y pasos a seguir

    Vamos a hablar sobre algunos parámetros que tienes que tener en cuenta para poder seguir en esta sección.

  • 2 Conociendo MongoDB

    Vamos a aprender algunos conceptos básicos para trabajar con MongoDB.

  • 3 Trabajando con las colecciones

    Vamos a trabajar con las colecciones/tablas en MongoDB.

  • 4 Métodos -insert- para crear documentos/registros

    Vamos a conocer cómo podemos insertar documentos en MongoDB.

  • 5 Método -find- para buscar documentos/registros y findOne

    Vamos a conocer cómo podemos buscar documentos en MongoDB.

  • 6 Generación del ID

    Generación del ID

  • 7 Método -find- con parámetros de búsqueda (query) y campos (proyección)

    Vamos a conocer como podemos insertar documentos en MongoDB y personalizar algunas opciones.

  • 8 Método -update- para actualizar documentos

    Vamos a conocer cómo podemos actualizar documentos en MongoDB.

  • 9 Método -delete- para eliminar documentos

    Vamos a conocer cómo podemos eliminar documentos en MongoDB.

  • 10 Consultas CRUD a realizar

    Consultas CRUD a realizar

Operadores Lógicos y de comparación en MongoDB

  • 1 Comparaciones por cantidades y operadores lógicos and/or

    Vamos a conocer como podemos emplear los operadores lógicos y de comparación en MongoDB.

  • 2 Código Fuente

    Código Fuente

Entorno básico

  • 1 Introducción

  • 2 Creando un ambiente virtual

    Vamos a preparar nuestro entorno virtual para desarrollar nuestra aplicación en Django.

  • 3 Instalar Django y el conector de MongoDB

    Vamos a instalar el conector de MongoDB para Django.

  • 4 Crear proyecto y aplicación en Django

    Vamos a crear el proyecto en Django y la aplicación que vamos a emplear inicialmente.

  • 5 Crear esquema y superusuario

    Vamos a crear las migraciones y ejecutarlas en nuestra base de datos, además vamos a crear el superadmin.

  • 6 Crear un modelo de pruebas: Book

    Vamos a crear el modelo de pruebas llamado Book.

  • 7 Probar la aplicación

    Vamos a arrancar la aplicación y hacer algunas pruebas para evidenciar cómo va funcionando.

  • 8 Representación del ID en MongoDB

    Vamos a hacer algunas modificaciones en el modelo Book para evitar guardar la columna Id.

  • 9 Emplear el modelo base djongo

    Vamos a cambiar la importación del modelo del de Django al de Djongo.

  • 10 Demostración: Importante orden en los pasos

    Vamos a hacer una demostración de lo importante que es ejecutar las migraciones inicialmente para nuestro Djongo.

  • 11 Opcional: Errores en VSC

    Vamos a conocer como podemos ocultar los errores en VSC.

Creando un sencillo CRUD con Django, MongoDB y Bootstrap 5

  • 1 Introducción

  • 2 Creando una función para obtener el listado paginado

    Vamos a crear la función en Django para obtener el listado de libros de la base de datos MongoDB.

  • 3 Crear página base

    Vamos a crear la página o template para el listado.

  • 4 Instalar Bootstrap 5

    Vamos a instalar Bootstrap 5 como framework web.

  • 5 Crear template para el listado

    Vamos a crear la página maestra o base para nuestra app de libros.

  • 6 Crear enlaces de paginación

    Vamos a crear los enlaces para paginar los libros.

  • 7 Crear formulario para los libros

    Vamos a crear la clase base de un formulario base para crear los libros.

  • 8 Crear modal de Bootstrap para el formulario de los libros

    Vamos a crear un modal en Bootstrap 5 para desplegar el form anterior.

  • 9 Establecer estilo de Bootstrap al formulario

    Vamos a darle estilo personalizado al formulario mediante el método init de la clase form.

  • 10 Crear función de guardar los libros

    Vamos a crear la función para guardar libros en la views de Django.

  • 11 Terminar función de add

    Vamos a terminar unos detalles en la función para crear un libro.

  • 12 Mostrar errores del formulario

    Vamos a mostrar los errores del formulario de manera individual.

  • 13 Editar un libro: función en la vista

    Vamos a crear la función en el views para editar un libro.

  • 14 Editar un libro: modificaciones en el template

    Vamos a realizar algunas modificaciones en el template para que podamos emplear la opción de edición del libro.

  • 15 Editar un libro: detalles finales

  • 16 Desplegar formulario el form al ocurrir errores

    Vamos a mostrar el formulario de manera automática cuando el mismo presenta errores desde el servidor.

  • 17 Definir función para obtener el detalle de un libro en json

    Vamos a crear una función json para mostrar el detalle de un libro por el _id del mismo.

  • 18 Consumir función vía fetch al momento de editar un libro

    Vamos a consumir la función anterior vía un fetch para consumir el detalle de un libro y mostrarlos al momento de editar.

  • 19 Limpiar campos del formulario

    Vamos a limpiar los campos de formulario cuando vamos a la opción de crear.

  • 20 Eliminar libro

    Vamos a crear la funcionalidad completa para eliminar un libro, la función en el views, modal y accionante.

  • 21 Instalar FontAwesome

    Vamos a instalar nuestra iconografía y establecerla en algunas partes de nuestra interfaz.

  • 22 Mostrar información de los libros a actualizar/eliminar en el modal

    Vamos a variar el título del modal según si estamos en edición o creación.

  • 23 Problema al actualizar al obtener errores de validación del servidor

    Vamos a arreglar un pequeño problema que tenemos cuando regresamos a la vista desde la opción de edición.

  • 24 Código fuente

    https://github.com/libredesarrollo/codigo_mongo_flask_django/blob/main/djangomongo_6.zip

Relaciones en MongoDB

  • 1 Documentos embebidos: Consultas de búsqueda

    Vamos a realizar algunas consultas de búsqueda con los operadores de comparación y lógicos que vimos anteriormente.

  • 2 Documentos embebidos: Actualizar documentos embebidos

    Vamos a aprender a actualizar un documento dentro de otro documento ya sea de tipo array o simple.

  • 3 Documentos embebidos: Eliminar documentos embebidos

    Vamos a aprender a eliminar un documento dentro de otro documento de tipo array.

  • 4 Documentos embebidos: Agregar documentos embebidos

    Vamos a aprender a agregar un documento dentro de otro documento de tipo array.

  • 5 Documentos por referencia

  • 6 Código Fuente

    Código Fuente https://github.com/libredesarrollo/codigo_mongo_flask_django/blob/main/laramongo_7.zip

Conociendo las relaciones en Django con Djongo

  • 1 Introducción

  • 2 Creando un modelo de categorías y relación foránea

    Vamos a crear otra relación para asociar con la de libros mediante una relación de tipo documento referencial.

  • 3 Demostración del comportamiento de las FKs

    Vamos a hacer algunas pruebas para trabajar con la relación Node tipo documento referencial.

  • 4 Definir la categoría en el formulario de libros

    Vamos a crear el nuevo campo en nuestro formulario.

  • 5 Problemas con el enfoque de Referencia por Documento (FK) con Djongo

    Vamos a explicar algunos inconvenientes que tenemos en el enfoque relacional en Djongo.

  • 6 Optimizar clases modelos

    Vamos a hacer unas reutilizaciones a nivel de código para las clases.

  • 7 Relaciones de tipo documentos embebidos: EmbeddedField

    Vamos a crear otro tipo de relación en esta oportunidad una relación de uno a uno de tipo documento embebido.

  • 8 Demostración del comportamiento de los EmbeddedField

    Vamos a realizar una sencilla demostración para la relación de tipo documento embebido.

  • 9 EmbeddedField y definición de un formulario base

    Vamos a crear un formulario base para ahorrarnos unas líneas de código para el modelo.

  • 10 Relaciones muchos a muchos

    Vamos a manejar la relación de tipo muchos a muchos.

  • 11 Problemas y solución al emplear los EmbeddedField y los ModelForm

    Vamos a conocer algunos problemas que tenemos actualmente con los formularios y los cambios embebidos.

  • 12 Precargar datos en el formulario para edición

    Vamos a precargar los datos en el formulario al momento de la edición.

  • 13 Crear función aparte para validar las dimensiones

    Vamos a crear un proceso para aplicar reglas de validación sobre un campo del libro.

  • 14 Validar campos

    Vamos terminar el proceso de validación del formulario.

  • 15 Crear/actualizar dimensión

    Vamos a crear el proceso de gestión para las dimensiones.

  • 16 Validar y guardar direcciones

    Vamos a crear el proceso de gestión para las direcciones.

  • 17 Guardar etiquetas

    Vamos a realizar el proceso de guardado para las etiquetas.

  • 18 Opcional: Configuración para los errores

    Vamos a mostrar los errores del formulario.

  • 19 Código fuente

    https://github.com/libredesarrollo/codigo_mongo_flask_django/blob/main/djangomongo_8.zip https://github.com/libredesarrollo/codigo_mongo_flask_django/blob/main/requirements_8.txt

Creando una Rest Api con Django y MongoDB

  • 1 Introducción

  • 2 Crear aplicación

    Vamos a crear una nueva aplicación en nuestro proyecto en Django.

  • 3 Instalar Django Rest Framework

    Vamos a instalar nuestro DRF para la creación de la RestApi.

  • 4 Creando una sencilla RestApi con los libros

    Vamos a crear la Rest CRUD para los libros.

  • 5 Instalando Rest meets Djongo

    Vamos a instalar al manejador de la RestApi para Djongo.

  • 6 Opcional: Problemas en el formulario de la sección anterior

    Vamos a corregir algunos problemas que vamos a tener cuando hagamos una desactualización del conector de MongoDB.

  • 7 Posibles problemas con la versión anterior de Djongo

    Posibles problemas con la versión anterior de Djongo

  • 8 Relaciones foráneas y de muchos a muchos

  • 9 Probar el resto de los métodos de nuestra RestApi

    Vamos a probar la RestApi que tenemos actualmente.

  • 10 Método para actualizar la categoría de un libro

    Vamos a crear el proceso para actualizar un libro.

  • 11 Método para agregar un Tag

    Vamos a crear un recurso Rest para crear etiquetas.

  • 12 Método para eliminar un Tag

    Vamos a crear el recurso Rest para eliminar etiquetas.

  • 13 Método para agregar una dirección

    Vamos a crear el recurso Rest para agregar direcciones.

  • 14 Método para remover una dirección por posición

    Vamos a crear el recurso Rest para remover una dirección por la posición.

  • 15 Tarea: Crear recurso rest para actualizar una dirección por dirección

    Vamos a crear el CRUD para las etiquetas y categorías.

  • 16 Resolución tarea

    Resolución tarea

  • 17 Rest CRUD para Tags y Categorías

  • 18 Códifo fuente

    https://github.com/libredesarrollo/codigo_mongo_flask_django/blob/main/djangomongo_9.zip

Django: Autenticación

  • 1 Crear un backend de autenticación

    Vamos a crear un backend personalizado para realizar el login con Django y MongoDB.

  • 2 Autenticación por token en Django Rest Framework

    Vamos a crear la autenticación por tokens en DRF.

  • 3 Autenticación por JWT (JSON Web Token) en Django Rest Framework

    Vamos a crear la autenticación vía JWT en la Rest Api con DRF.

Consumir RestApi mediante una aplicación en Vue

  • 1 Instalar Vue 3 mediante el NPM

    Vamos a instalar Vue 3 mediante la NPM.

  • 2 Crear un proyecto en Vue

    Vamos a crear un proyecto en Vue.

  • 3 Instalar y configurar Bootstrap 5 NPM

    Vamos a instalar configurar B5 con NPM.

  • 4 Instalar axios

    Vamos a instalar axios para realizar peticiones http.

  • 5 Configurar los cors headers

    Vamos a configurar los CORS en nuestro proyecto en Django.

  • 6 Configurar los cors headers

    Vamos a configurar los CORS en nuestro proyecto en Django.

  • 7 Crear un simple listado de libros

    Vamos a crear un listado de libros inicial.

  • 8 Instalar FontAwesome

    Vamos a instalar nuestro FontAwesome para representar nuestros iconos.

  • 9 Terminar el diseño inicial para el listado

    Vamos a terminar el diseño para nuestro listado.

  • 10 Terminar el diseño para el formulario de dirección

    Vamos a terminar el diseño de los formularios para la dirección.

  • 11 Actualizar dirección mediante una petición axios

    Vamos a hacer el proceso para actualizar una dirección via axios.

  • 12 Eliminar una dirección

    Vamos a crear el proceso para eliminar una dirección.

  • 13 Opcional: Efecto desvanecer al eliminar

    Vamos a crear el efecto de eliminación mediante CSS.

  • 14 Componente y listado de etiquetas

    Vamos a crear el listado inicial de los tags.

  • 15 Método para asignar una etiqueta en un libro

    Vamos a crear el proceso para asignar un tag a un libro.

  • 16 Listado de etiquetas de un libro

    Vamos a crear el proceso de listado de etiquetas que tiene asignado un libro.

  • 17 Eliminar una etiqueta de un libro

    Vamos a eliminar una etiqueta de un libro.

  • 18 Refrescar el componente de Tags al asignar una etiqueta

    Vamos a hacer un refresco de las etiquetas de un libro al momento de asignar una a un libro.

  • 19 Refrescar el componente de Tags al eliminar una etiqueta

    Vamos a hacer un refresco de las etiquetas de un libro al momento de eliminar una de un libro.

  • 20 Bloquear campos de formulario por defecto

    Vamos a hacer un bloqueo o deshabilitación de los campos de formulario para las direcciones.

  • 21 Crear direcciones a un libro

    Vamos a crear una dirección a un libro.

  • 22 Actualizar las direcciones del listado principal de libros

    Vamos a crear crear el proceso de actualización del listado principal de los libros al momento de registrar una dirección.

  • 23 Crear botones flotantes

    Vamos a crear unos botones flotantes.

  • 24 Crear y activar un modal mediante los botones flotantes

    Vamos a crear un componente de Modal.

  • 25 Referenciar al componente hijo desde el padre

  • 26 Crear categorías y tags

    Vamos a crear el proceso de creación de las categorías y etiquetas.

  • 27 Mostrar errores en los formularios

    Vamos a mostrar errores del formulario.

  • 28 Refrescar etiquetas

    Vamos a actualizar el listado de etiquetas al momento de crear una nueva.

  • 29 Tarea: Crear componente de categoría

    Tarea: Crear componente de categoría

  • 30 Resolución tarea

    Resolución tarea

Creando un sencillo CRUD con Flask, MongoDB y Bootstrap 5

  • 1 Introducción

  • 2 Creación del espacio virtual

    Vamos a crear el espacio virtual para nuestro proyecto en Flask.

  • 3 Instalar las dependencias: Flask y Flask-Mongo

    Vamos a instalar las dependencias necesarias para avanzar en nuestro proyecto.

  • 4 Crear la estructura inicial de la aplicación

    Vamos a crear la estructura de nuestra app.

  • 5 Hola Mundo en Flask

    Vamos a crear un Hola Mundo en Flask.

  • 6 Crear el modelo book

    Vamos a crear nuestro modelo de book.

  • 7 Primeras operaciones: Crear un libro

    Vamos a hacer las primeras pruebas con MongoDB y Flask y vamos a crear un libro.

  • 8 Primeras operaciones: Obtener un libro

    Vamos a obtener el detalle de un libro.

  • 9 Primeras operaciones: Obtener todos los libros

  • 10 Primeras operaciones: Obtener un libro o 404

    Vamos a conocer una función que nos permitirá, dado un ID incorrecto, devolver la página de 404; también conocer la función de get.

  • 11 Primeras operaciones: Eliminar un libro

    Vamos a eliminar un libro de la base de datos de diversas formas.

  • 12 Primeras operaciones: Actualizar un libro

    Vamos a actualizar un documento

  • 13 Crear función de paginación

    Vamos a crear la función que vamos a emplear para mostrar el listado de libros.

  • 14 Crear template maestro

    Vamos a crear el template maestro de nuestra app.

  • 15 Crear vista paginada

    Vamos a crear la vista paginada.

  • 16 Instalar Bootstrap 5

    Vamos a instalar Bootstrap 5 como framework web.

  • 17 Dar el diseño de B5 para nuestro listado

    Vamos a adaptar el diseño de Bootstrap 5 a nuestro listado.

  • 18 Crear enlaces de navegación para la paginación

    Vamos a crear enlaces de navegación.

  • 19 Crear libros mediante un formulario

    Vamos a crear todo el proceso para guardar nuestros libros en una base de datos.

  • 20 Instalar FontAwesome

    Vamos a instalar nuestra iconografía y establecerla en algunas partes de nuestra interfaz.

  • 21 Crear modal de Bootstrap para el formulario de los libros

    Vamos a crear un modal en Bootstrap 5 para desplegar el form anterior.

  • 22 Terminar función de agregar

    Vamos a terminar unos detalles para que el proceso de creación funcione de manera correcta al momento de creación.

  • 23 Mostrar mensajes de errores del formulario

    Vamos a mostrar los errores del formulario

  • 24 Vamos a crear los enlaces para edición y eliminación

    Vamos a crear los enlaces para realizar algunas operaciones CRUD.

  • 25 Crear función json que devuelve el detalle de un libro

    Vamos a crear la función json para obtener el detalle de un libro.

  • 26 Variar la URL del modal según si estamos en edición o creación mediante JS

    Vamos a variar la URL del formulario del modal según si estamos en edición o creación.

  • 27 Cargar los datos del formulario en el modal en modo edición

    Vamos a mostrar los datos del libro que estamos editando en el modal.

  • 28 Terminar función para actualizar

    Vamos a completar la función para actualizar un libro.

  • 29 Abrir modal de manera automática al ocurrir un error

    Vamos a mostrar el modal al momento de que ocurra un error en el form.

  • 30 Personalizar mensaje del modal

    Vamos a personalizar el modal según si estamos en fase de creación o actualización.

  • 31 Eliminar un documento con ventana de confirmación

    Vamos a crear el proceso de eliminar un libro con diálogo de confirmación.

  • 32 Código fuente

    https://github.com/libredesarrollo/codigo_mongo_flask_django/blob/main/mongoflask_12.zip

Conociendo las relaciones en Flask con MongoEngine

  • 1 Introduccion

  • 2 Creando un modelo de categorías y relación foránea

    Vamos a crear otra relación para asociar con la de libros mediante una relación de tipo documento referencial.

  • 3 Demostración del comportamiento de las FKs

    Vamos a hacer algunas pruebas para trabajar con la relación Node tipo documento referencial.

  • 4 Definir la categoría en el formulario de libros

    Vamos a crear el nuevo campo en nuestro formulario.

  • 5 Relaciones de tipo documentos embebidos: EmbeddedDocument

    Vamos a crear otro tipo de relación en esta oportunidad una relación de uno a uno de tipo documento embebido.

  • 6 Demostración del comportamiento de los EmbeddedDocument

    Vamos a realizar una sencilla demostración para la relación de tipo documento embebido.

  • 7 EmbeddedDocument y definición de un formulario base

    Vamos a crear un formulario base para ahorrarnos unas líneas de código para el modelo.

  • 8 Relaciones de tipo documentos embebidos tipo array

    Vamos a conocer otro tipo de relación, de tipo array o de uno a muchos y de documento embebido.

  • 9 Demostración del comportamiento de los documentos embebidos tipo array

    Vamos a hacer unas pruebas para operar con los documentos embebidos de tipo array para las direcciones.

  • 10 Documentos embebidos tipo array y definición de un formulario base

    Vamos a crear un formulario para las direcciones.

  • 11 Relaciones muchos a muchos

    Vamos a manejar la relación de tipo muchos a muchos.

  • 12 Demostración del comportamiento de las relaciones muchos a muchos

    Vamos a realizar una demostración con las relaciones de muchos a muchos.

  • 13 Relaciones muchos a muchos y definición de un formulario base

    Vamos a definir los campos de etiquetas en el form base y función de establecer los datos del libro.

  • 14 Precargar datos en el formulario para edición

    Vamos a precargar los datos en el formulario al momento de la edición.

  • 15 Resolución tarea: Selección múltiple tags

    Resolución tarea: Selección múltiple tags

  • 16 Código fuente

    https://github.com/libredesarrollo/codigo_mongo_flask_django/blob/main/mongoflask_13.zip

Creando una Rest Api con Flask MongoEngine y MongoDB

  • 1 Instalar Flask RestFul

    Vamos a instalar Flask RestFul para crear la RestApi.

  • 2 Crear un recurso para obtener todos los libros

    Vamos a crear un recurso para obtener todos los libros.

  • 3 Crear un recurso para obtener el detalle de un libro

    Vamos a crear un recurso para obtener el detalle de un libro por el id.

  • 4 Empleando la función de agregación para obtener el detalle de la categoría

    Vamos a emplear la función de agregación en conjunto con nuestro Flask RestFul para obtener el detalle de la categoría.

  • 5 Empleando la función de agregación para obtener el detalle de las etiquetas

    Vamos a emplear la función de agregación en conjunto con nuestro Flask RestFul para obtener el detalle del tag.

  • 6 Mostrar las direcciones y dimensiones

    Vamos a mostrar el detalle de las direcciones y dimensiones.

  • 7 Mover variables globales fuera de la instancia de la clase

    Vamos a mover las definición de los campos o estructura de nuestro modelo de libros.

  • 8 Aplicar cambios anteriores en el recurso de detalle

    Vamos a aplicar los cambios que hicimos anteriormente para el detalle del libro.

  • 9 Recurso para crear un libro

    Vamos a crear el recurso rest para crear un libro.

  • 10 Tarea: Recurso para actualizar un libro

    Vas a crear el recurso rest para actualizar un libro.

  • 11 Tarea: Recurso para eliminar un libro

    Vas a crear el recurso rest para eliminar un libro.

  • 12 Método para actualizar la categoría de un libro

    Vamos a crear el proceso para actualizar un libro.

  • 13 Método para agregar un Tag

    Vamos a crear un recurso Rest para crear etiquetas.

  • 14 Método para eliminar un Tag

    Vamos a crear el recurso Rest para eliminar etiquetas.

  • 15 Método para agregar y remover una dirección

    Vamos a crear el recurso Rest para agregar y remover direcciones.

  • 16 Tarea: Rest CRUD para Tags y Categorías

    Tarea: Rest CRUD para Tags y Categorías

  • 17 Resolución tarea

    Resolución tarea

  • 18 Código fuente

    https://github.com/libredesarrollo/codigo_mongo_flask_django/blob/main/mongoflask_14.zip https://github.com/libredesarrollo/codigo_mongo_flask_django/blob/main/requirement_14.txt

Flask: Autenticación

  • 1 FlaskUser: Instalar dependencia

    Vamos a explicar que es lo que vamos a crear e instalar las dependencias.

  • 2 FlaskUser: Crear modelo

    Vamos a crear el modelo para la autenticación.

  • 3 FlaskUser: Crear controlador

    Vamos a crear el controlador para realizar ciertas pruebas y saber si estamos autenticados o no.

  • 4 FlaskUser: Integrar

    Vamos a integrar lo realizado anteriormente en el proyecto.

  • 5 FlaskUser: Probar

    Vamos a probar el módulo de autenticación que creamos anteriormente.

  • 6 FlaskUser: Tarea, proteger módulo gestión

    Vamos a proteger el módulo de gestión con nuestro FlaskUser.

  • 7 FlaskJWT: Progeger la Rest Api

    Vamos la Rest Api con Json Web Tokens.

Framework de Agregación en MongoDB:

  • 1 Introducción

  • 2 Presentación

  • 3 Filtros con match

    Vamos a mostrar el uso de la función match para colocar filtros para los documentos a obtener.

  • 4 Proyecciones

    Vamos a presentar el uso de las proyecciones para indicar los campos de salida.

  • 5 Proyecciones y otros operadores: arrayElemAt y slice

    Vamos a ver algunas combinaciones entre las proyecciones y otros operadores.

  • 6 Match, Proyecciones y agregar campos dinámicos

    Vamos a conocer como podemos agregar campos de manera dinámica.

  • 7 Operador group

    Vamos a conocer cómo podemos agrupar documentos por un campo.

  • 8 Operador limit

    Vamos a conocer como podemos limitar la cantidad de documentos.

  • 9 Funciones matemáticas con group

    Vamos a emplear algunas funciones matemáticas para la agregación, sumar, contar, mínimo, máximo y promedio.

  • 10 Ordenación

    Vamos a conocer cómo podemos ordenar documentos.

Extra: Actualización con Agregación Pipelines y Arrays en MongoDB:

  • 1 Actualización con Agregación Pipelines en MongoDB

    Vamos a hacer algunas pruebas actualizando un pull de registros mediante pipes.

  • 2 Actualización de array: insertar array en un documento existente - $push

    Vamos a crear un registro y luego editar el mismo para agregar un array.

  • 3 Actualización de array: insertar un elemento - $push

    Vamos a agregar más elementos al array anterior.

  • 4 Actualización de array: insertar array de elementos - $push/$each

    Vamos a insertar un array dentro del array.

  • 5 Actualización de array: insertar un elemento si no existe - $addToSet

    Vamos a insertar un nuevo elemento si el mismo no existe.

  • 6 Actualización de array: eliminar un elemento a los extremos - $pop

    Vamos a eliminar un elemento mediante el operador de pop.

  • 7 Actualización de array: eliminar elementos por valor/match - $pullAll

    Vamos a eliminar un grupo de elementos por el valor.

  • 8 Actualización de array: eliminar elemento por valor/match - $pull

    Vamos a eliminar un elemento por el valor.

  • 9 Actualización de array: eliminar elemento por valor/match - $pull parte 2

  • 10 Actualización de array: actualizar todos los elementos del array

    Vamos a emplear el operador de $ para actualizar todos los elementos.

  • 11 Actualización de array: actualizar un elemento del array

    Vamos a emplear el operador de $ para actualizar un elemento.

  • 12 Código fuente

    Código fuente

- Andrés Cruz

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz En Udemy

Acepto recibir anuncios de interes sobre este Blog.

!Cursos desde!

10$

En Udemy

Quedan 3d 14:04!


Udemy

!Cursos desde!

4$

En Academia

Ver los cursos

!Libros desde!

1$

Ver los libros
¡Hazte afiliado en Gumroad!