AJAX → Requests a la API de Django
Regla de Oro:
Buscar hacer el AJAX y la comunicación entre Front-End y Back-End lo más transparente posible
Evitar parsers y procesamiento para acomodar la info entre vistas y end-points
Evitar manipular los JSON
Validamos vs el Flujo de Wireframes en Figma vs Flujo de Datos en dbdiagram.io
Criterio de Aceptación para Liberar Mock-ups
Flujo → Tener bien definida la navegación → Trabajar sobre el flujo Vistas → Las pantallas ya terminadas Validación vs Base de Datos
Retro:
En base a los end-points, definir la estructura del objeto y de esa manera validarla
definir en base a figma las vistas que estructura en dato de JSON se requiere y de esa manera validar
Algoritmo para Trasvase de JSON
1st HTML Structure
En base a la siguiente estructura nos organizaremos para tener un script relativamente estándard
2nd JSON Structure
En base a la siguiente estructura nos organizaremos para tener un script relativamente estándar
Retrieve
Una vez teniendo la respuesta del AJAX necesitamos hacer el trasvase de la información de manera ordenada
Establecemos un contenedor (padre) y un item (hijo) el hijo será nuestro template para los demás hijos
Proceso:
Primero identificar del template todos aquellos objetos que nos interesa actualizar o ser susceptibles al trasvase Las etiquetas de las clases de esos objetos son igual al nombre de los objetos / propiedades del JSON, según aplique Una vez identificados guardarlos en una lista de referencia Después del JSON obtener el número de objetos → que van a convertirse en Items Crear “n” items de acuerdo a “n” objetos del JSON, al crear los items nos traemos todo el html contenido del template hijo y lo trasvasamos a las copias de cada copia hacemos el retrieve de los objetos cuyas etiquetas sean las mismas que el JSON hacemos la busqueda através del JSON con esas mismas etiquetas, una vez que hacen match se hace el trasvase de la información de un objeto a otro
Labels
En base a la estructura arriba mencionada no queda más que hacer el match de etiquetas entre HTML y JSON así seria la regla, primero empezar con las etiquetas que son “json_” para así primero sin importar el objeto lo traiga, después buscaremos la etiqueta con el nombre de la propiedad que se llama igual en el JSON
ejemplo:
json_major_container → { } json_container → [ ] → recipe_details json_node → recipe_category json_node_value → category: “Mexicana” json_container [ ] → recipe_apps json_node → app_type → “olla de presion” json_node → required → True | False
JSON → desde Django, procesar y generar un solo archivo de respuesta
el nombre del ingrediente descripción del procedimiento
JSON → del planner
meal id (desayuno | comida | cena)
Estudio de caso:
era el ejemplo que nos daba David ayer, si lo bajamos existe una probabilidad de que nos lo de así:
y nosotros lo necesitaríamos así:
recipe_specs: { spec1, spec2, etc...}
Retro de los Mentores:
Listar los END-POINTS solamente los del lado del usuario / FRONT-END
El número de End-Points va a ser igual al CRUD de estos elementos:
Usuarios y sus preferencias Home (Nuevas & Consentidas → 1 solo End-Point) Generar la estructura JSON por cada tipo de END-POINTS
usuario → planner → menu → recipes → shopping list
End-Points pre-analysis:
Propuesta 1:
/users/id/ → detail especifico del usuario dado de alta
/users/planner/ → lista de menus
/users/planner/menu/id → detail del menu → periodo, fechas, el número del menu, el titulo que guardo el usuario
/users/planner/menu/recipes/ → lista de recetas
/users/planner/menu/recipes/id/ → el detalle de una receta en especifico
/users/planner/menu/id/shopping_list/
Propuesta 2:
/users/catalog_recipes/ → Lista de recetas en base a preferencias de usuarios
/users/catalog_recipes/id/ → Vista de Detalle de la receta por id
/users/catalog_ingredients/ → Lista de recetas en base a preferencia de ingredientes del usuario
/users/catalog_ingredients/id/ → Vista de Detalle de la receta por id