Bienvenida

1

Todo lo que aprender谩s sobre Django

Cimientos

2

Arquitectura de una aplicaci贸n

3

The Twelve-Factor App

4

Codebase: Settings modular

5

Codebase: Dependencias y archivos de docker

6

Codebase: Docker

7

Setups alternativos

Modelos

8

Herencia de modelos

9

Proxy models

10

App de usuarios

11

Organizando modelos en un paquete de Django

12

Creando el modelo de perfil de usuario

13

Soluci贸n del reto: arreglando la migraci贸n de users a user

14

Aplicaci贸n y modelo de c铆rculos

15

Migraciones y admin de c铆rculos

Introducci贸n a Django REST Framework

16

Aprende c贸mo construir tu propio API con Django Rest Framework

17

Vistas, URLs y Parsers de DRF

18

Serializers

19

Buenas pr谩cticas para el dise帽o de un API REST

20

Request, response, renderers y parsers

Real DRF

21

Autenticaci贸n y tipos de autenticaci贸n

22

APIView

23

Creando el token de autorizaci贸n

24

User sign up

25

Limitar login a usuarios con cuenta verificada

26

Configurar env铆o de email

27

Instalar PyJWT y generar tokens

28

Verificar cuenta usando JWT

29

Actualizar modelo de circle (membership)

30

Crear CircleViewSet

31

A帽adiendo autorizaci贸n y paginaci贸n

32

Creaci贸n de circulos

33

Update de c铆rculo, custom permissions y DRF Mixins

34

Migraci贸n de vistas de usuarios a ViewSets

35

Detalle de usuario

36

Update profile data

37

List members - Recursos anidado

38

Retrieve destroy member

39

Modelo de invitaciones y manager

40

Obtener invitaciones de un miembro

41

Unirse a grupo

42

Filtrado

43

App de rides y modelos

44

Implementar la publicaci贸n de un ride

45

Validaci贸n de campos de un serializer

46

Listado de rides

47

Editar un ride

48

Unirse a viaje

49

Terminar viaje

50

Calificar viaje

Tareas as铆ncronas

51

驴Qu茅 es Celery?

52

Creando tarea as铆ncrona

53

Creando tarea peri贸dica

Testing

54

Python unittest y Django TestCase

55

DRF APITestCase

Django Admin

56

Admin actions: Modificar datos de un query

57

Admin actions: Regresando una respuesta HTTP

Deployment

58

Instalaci贸n de la aplicaci贸n

59

Configuraci贸n del dominio en Mailgun y del Bucket en Amazon S3

60

Configuraci贸n final de Docker Container usando Supervisor

61

Tutorial de despliegue de la aplicaci贸n

62

Futuros pasos y cierre del curso

Arquitectura de una aplicaci贸n

2/62
Recursos

El objetivo de este curso es convertirte en un Backend profesional que usa Django como su herramienta profesional.

El Backend consiste en:

  • Servidor
  • Aplicaci贸n
  • Base de Datos

Un Backend developer es un dise帽ador, su trabajo consiste un 90% en leer, dise帽ar, analizar y planear. Un 10% en programar. Nuestro trabajo m谩s importante es el dise帽o del sistema y las decisiones tomadas son m谩s costosas y m谩s dif铆ciles de cambiar.

Web Services es la manera en que se implementan las arquitecturas orientadas a servicios, se crean bloques que son accesibles a trav茅s de la web, son independientes del lenguaje de programaci贸n.

  • SOAP: Tiene su propio est谩ndar, conocido por utilizar XML.
  • REST: Representational State Transfer, el objetivo es que nuestras operaciones sean Stateless. REST depende mucho m谩s del protocolo HTTP.
  • GraphQL: Es el m谩s moderno, desarrollado por Facebook. Funciona m谩s como un Query Language para las API, un lenguaje de consultas.

Aportes 30

Preguntas 7

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

SOA (Service Oriented Architecture):

Es auto-contenida (self-contained)
Es una caja negra para sus consumidores
Representa una actividad de negocio con un fin muy especifico

Web Services:

Me tom茅 un tiempo para leer sobre las arquitecturas mencionadas en este v铆deo, aunque me enfoque en SOAP y en RESTful HTTP, ambos enfocados en proveer servicios web pero de formas distintas.

Esto vale oro.

Cuando nombr贸 el Developer Roadmap me dije: 鈥渆ste tipo sabe鈥 xD. Excelente recurso para saber que aprender y entender la idea general de lo que debe ser un Frontend y un Backend.

para usar grahpQL tambien recomiendo esta app https://github.com/jjorgewill/graphene-django-extras super buena, integra los serializar de restframework y se obtiene un buen rendimiento

uhh, no van a tocar graphQL, pero bueno puedo recomendar django_graphene

Backend

Consiste en todo lo que no ve el usuario, consiste en Servidor, Aplicaci贸n, Bases de Datos y Django, le trabajo de un Backend es un dise帽ador de soluciones y sistemas. Las decisiones que uno toma como backend Developer son mas importantes y pueden llegar a ser mucho mas costosas ya que se encarga de dise帽ar el funcionamiento de la app y por lo tanto su rendimiento

Arquitectura

Software Architecture is about making fundamental structural choices which are costly to change once implemented

La Arquitectura de Software trata de hacer elecciones fundamentales en la estructura que ser谩n muy dif铆ciles de cambiar una vez implementadas

Hay distintos tipos de Arquitectura:

  • Monol铆tica: Todo esta manejado por el mismo servidor (Frontend, Backend, Databases鈥) y todo esta muy acoplado, un componente afecta a todos
  • Distribuida: Los componentes pueden estar desacoplados, pueden estar en distintos servidores y pueden consumirse a trav茅s de la red
  • H铆brida: Habla de como el sitio esta siendo mostrado. Por ejemplo la primera vez el Frontend se renderiza desde el Backend, pero el Frontend funciona como una aplicaci贸n independiente que usa un API
  • Orientada a Servicios (SOA [Service Oriented Architecture]): Es auto-contenida (no dependen de otras), es una caja negra para sus consumidores(No interesa como funciona por detr谩s) y presenta una actividad de negocio con un fin espec铆fico
    • Web Services: la manera en que se implementan las arquitecturas basadas en servicios, se crean los bloques que son accesibles desde la web y independientes del lenguaje de programaci贸n y las implementaciones de estos suelen seguir estandares muy populares

      • SOAP: Usa XML y tiene un protocolo de mensajer铆a muy claro, aunque ya no se usa mucho

      Web Tools APIs | USPS

      • RESTful HTTP: Se centra en el protocolo HTTP y todas sus operaciones sean State-less, es decir, no dependan de ning煤n estado o operaci贸n anterior o pr贸xima, actualmente es el mas usado

      Graph API - Documentation - Facebook for Developers

      • GraphQL: Es el mas moderno, desarrollado por Facebook y actua como un Query Lenguage y su Response es un JSON

      GitHub GraphQL API

Como dijo, a leer

Arquitectura de una aplicaci贸n:

Se trata de tomar decisiones acerca de c贸mo se implementa nuestra aplicaci贸n.

Consistencia del Backend:
"Un dev backend debe dise帽ar un sistema"
Se compone de:

  • Servidor, Aplicaci贸n, Base de Datos

Muy buena info con respecto a la ruta de un backend

Cimientos

Arquitectura de una aplicaci贸n

Un backend developer es un dise帽ador, las decisiones son costosas y dificiles de cambiar

Arquitectura: Tomar decisiones sobre la estructura fundamental que van a implicar costos y van a ser dificiles de cambiar una vez implementadas.

La arquitectura orientada en servicios consiste en crear una API que se comunica entre el backend y el front-end
Para el consumidor lo que pasa en la aplicaci贸n es una caja negra. Estas son autocontenidas.

Rest: Depende del protocolo http usando status code.

Estoy trabajando en Backend con Django y literalmente mi vida es leer, documentacion en Ingles

He trabajado mas con GraphQL, y es buenisimo para desarrollar API鈥檚 pensadas para ser consumidas con apps moviles.

Para Django se usa Graphene.

驴Micro servicios en que categor铆a est谩?

Excelente

Excelente info!

Hace tiempo estaba esperando un curso avanzado de Django comi este.

Yo tengo windows y he podido trabajar muy bien con el subsystem linux ubuntu de win10. lo 煤nico que no tengo con linux es Docker, pero 茅ste me funciona muy bien con PowerShell de windows. as铆 que ha desarrollar.

hola cuando en otro proyecto quiero realizar la instalaci贸n con docker de las dependencias me sale este error con Celery:

v20web-centro_celerybeat_1 exited with code 1
v20web-centro_celeryworker_1 exited with code 1

Excelente

Buenas compa帽eros y profe Pablo, tengo una pregunta.
Estoy implementando mi aplicaci贸n como SaaS utilizando el esquema Multi Tenancy e integr茅 la app django-tenant-schemas y funciona a la perfecci贸n en mi computador local.
Alguien a desplegado a producci贸n algo similar?
He le铆do casi toda la documentaci贸n de Heroku, actualizado mi plan de Heroku-Postgres sin resultados favorables.
Conocen otra IaaS para desplegar mi aplicaci贸n multi tenant?
Gracias compa帽eros.

Es normal sentir nervios antes de empezar un curso jajaja

Ser铆a bueno contar con un curso similar a este pero con graphQL 驴Alguien m谩s de acuerdo? 馃槂

es totalmente obligatorio el uso de docker en este curso? Lo pregunto ya que mi pc es de 2gb de ram y un sistema de 32 bit

Super importante entender que planear y decidir es lo dif铆cil, programar es un poco m谩s sencillo.

Que @#$%#%##%* que no expliquen todo, si es por leer la documentaci贸n para que pago la suscripci贸n? para soportar que la app deje de funcionar cada 10min? soy el 煤nico que piensa as铆?

Hola buenas noches!
Qui茅n con conocimientos en sistemas de inventario, para culminar el modulo de ventas de un sistema, sus reportes, env铆os de email , obtener el inventario actual por cada ventas registrada, y llevarlo a desarrollo en un dominio propio de la empresa!
Para comenzar a trabajar lo restante del sistema y opci贸n a futuras cooperaciones en otros sistemas por fa!! Es mi primer sistema de django, hice el curso anterior de django y no logr贸 hacer lo nombrado y el curso django avanzado me da un error al construir las im谩genes y no he podido resolver! Entonces quisiera culminar el sistema y la persona o persona de preferencia con conocimiento en inventarios por fa!

Banckend es una parte del desarrollo de software web que se encarga de toda la l贸gica para que la pagina funciones, por decirlo en otras palabras es el detr谩s de c谩maras.
Por ejemplo la comunicaci贸n con el servidor, o la interacci贸n con la base de datos

Como backend developer el trabajo m谩s importante es el dise帽o de la soluci贸n o sistema.