CursosEmpresasBlogLiveConfPrecios

Lista de categorías

Clase 6 de 17 • Curso de API REST con Javascript: Ejemplos con APIs reales

Clase anteriorSiguiente clase

Contenido del curso

Presentación del proyecto: PlatziMovies
  • 1
    TheMovieDB: análisis de su API

    TheMovieDB: análisis de su API

    07:15
  • 2
    Bocetos en papel y diseño en Figma

    Bocetos en papel y diseño en Figma

    08:05
Configuración inicial y maquetación del proyecto
  • 3
    Configuración del entorno de desarrollo

    Configuración del entorno de desarrollo

    16:53
  • 4
    Maquetación del proyecto: HTML y CSS

    Maquetación del proyecto: HTML y CSS

    18:34
Consumiendo la API
  • 5
    Lista de películas en tendencia

    Lista de películas en tendencia

    16:41
  • 6
    Lista de categorías

    Lista de categorías

    10:32
  • 7
    Migración a Axios

    Migración a Axios

    07:18
Navegación
  • 8
    Location y hash navigation

    Location y hash navigation

    17:17
  • 9
    Mostrando y ocultando secciones

    Mostrando y ocultando secciones

    22:05
  • 10
    Error: carga duplicada de datos

    Error: carga duplicada de datos

    06:30
Views
  • 11
    Filtrando películas por categoría

    Filtrando películas por categoría

    21:38
  • 12
    Retos: scrollTop y DRY

    Retos: scrollTop y DRY

    11:13
  • 13
    Buscador de películas

    Buscador de películas

    11:10
  • 14
    Retos: historial de navegación y página de tendencias

    Retos: historial de navegación y página de tendencias

    06:19
  • 15
    Endpoint de detalles de una película

    Endpoint de detalles de una película

    18:55
  • 16
    Lista de películas recomendadas

    Lista de películas recomendadas

    07:36
Próximos pasos
  • 17
    Toma el Curso Profesional de Consumo de API REST con JavaScript

    Toma el Curso Profesional de Consumo de API REST con JavaScript

    02:19
    Hiram Rodriguez Gomez

    Hiram Rodriguez Gomez

    student•
    hace 3 años

    Por defecto, el idioma en que nos devuelve las categorías es en inglés. Para mostrar las categorías en español, después de la API Key es necesario agregar

    &language=es

    para que los nombres de las categorías aparezcan en español. La URL completa debe quedar similar a esto:

    https://api.themoviedb.org/3//genre/movie/list?api_key=<TU_API_KEY>&language=es
      Jonathan Guidi

      Jonathan Guidi

      student•
      hace 3 años

      Buen aporte! Gracias!!

    Christopher David Erazo Herrera

    Christopher David Erazo Herrera

    student•
    hace 3 años

    Les comparto por el momento esta de esta forma cargando las categorias y tendencias

    2022-06-09_22h38_06.png
      oscar Ivan Toro Gonzalez

      oscar Ivan Toro Gonzalez

      student•
      hace 3 años

      que poder mi bro como lo hiciste?

    maximo galarza

    maximo galarza

    student•
    hace 4 años

    hola, tuve un problema con lo que pasaba era esto:

    imagen_resultado_flex.png

    este era el código:

    codigo_resultado_flex.png

    y encontré esta solución con css grid:

    imagen_resultado_grid.png

    y este es el codigo:

    codigo_resultado_grid.png

      Josue Cerron Tuesta

      Josue Cerron Tuesta

      student•
      hace 3 años

      Gracias!

    Carlos Rodríguez

    Carlos Rodríguez

    student•
    hace 4 años

    Mi aporte con el repositoio github:

    Mi respositorio

    Brandon Argel Verdeja Domínguez

    Brandon Argel Verdeja Domínguez

    student•
    hace 3 años

    Así va quedando mi proyecto. Este es el repo. Desktop:

    MoviesApp
    Mobile:
    MoviesAppMobile

    Dario Paladines

    Dario Paladines

    student•
    hace 3 años

    Bueno, asi quedo mi versión de categorias, lo realizé inclusive antes de terminar de ver la clase completa y me salió a la primera :)

    Screenshot 2022-06-08 175418.png

      Juan Castro

      Juan Castro

      teacher•
      hace 3 años

      :clap:

    Jorge Garcia

    Jorge Garcia

    student•
    hace 3 años

    yo lo llevaba asi pero viendo que son muchas categorias me tocara rediseñar mi menu de categorias...

    Screenshot 2022-07-13 210645.jpg
    Jesús Emmanuel Jimenez Brito

    Jesús Emmanuel Jimenez Brito

    student•
    hace 3 años

    Hardcodear es escribir código que deberia ser automatizado o código que debería ser obtenido por el usuario final y no por el desarrollador

    Diego Iberri Ramírez

    Diego Iberri Ramírez

    student•
    hace 3 años

    esta es la manera correcta de agregar las categorias en idioma español:

    async function getCategoriesPreview() { const res = await fetch ('https://api.themoviedb.org/3/genre/movie/list?api_key=' + API_KEY + '&language=es'); }
    Diego Eduardo Téllez Contreras

    Diego Eduardo Téllez Contreras

    student•
    hace 3 años

    Así va quedando el mio!

    Captura de Pantalla 2022-12-04 a la(s) 10.52.33 p. m..png
    Rigoberto Maldonado

    Rigoberto Maldonado

    student•
    hace 3 años

    Vamos genial. Comparto mi avance..

    detalles y ya.

    buttons.png

    mobile.png
    Cayo Legal

    Cayo Legal

    student•
    hace 4 años

    Yo creo que es mas eficiente usar textContent o innerText en vez de TextNode

      Juan Castro

      Juan Castro

      teacher•
      hace 4 años

      Perfectamente válido :D

    Walter Marvin Rodriguez Sanchez

    Walter Marvin Rodriguez Sanchez

    student•
    hace 3 años

    excelente clase

    Cristian Paiva

    Cristian Paiva

    student•
    hace 2 años

    Que lindo se esta poniendo este curso. No esperaba menos de JuanDC!!! Gracias maestro :)

    Eduardo Rodriguez Yapur

    Eduardo Rodriguez Yapur

    student•
    hace 3 años

    Otra forma de realizar la funcion getMoviesCategories:

    async function getMoviesCategories(){ const res =await fetch(`https://api.themoviedb.org/3/genre/movie/list?api_key=8usda933asdahhreew33423`); const data=await res.json(); console.log(data); categories=data.genres; console.log(categories); categories.forEach(category => { const categoryContainer=` <div class="category-container"> <h3 id="id${category.id}" class="category-title">${category.name}</h4> </div> `; const html = document.querySelector('#categoriesPreview .categoriesPreview-list').innerHTML; document.querySelector('#categoriesPreview .categoriesPreview-list').innerHTML=categoryContainer+html; }); }
      José Luis Encastin Flores

      José Luis Encastin Flores

      student•
      hace 3 años

      Aguas con dejar tu API_KEY bro, en openSource no pasa nada, pero en APIs como las de google te pueden endeudar en un rato.

    Christian Velázquez

    Christian Velázquez

    student•
    hace 4 años

    Lo único que le agregué de más fie en la "API_KEY", el lenguaje ( Español)

    • &language=es-Mx
    David Guerrero Diaz

    David Guerrero Diaz

    student•
    hace 4 años

    Asi lo estoy quedando con vanilla javascript :D

    import getCategories from "../utils/getCategories"; const CategoriesPreview = async () => { const categoriesMovies = await getCategories(); const categories = categoriesMovies.genres; categories.forEach((category) => { const categoriesPreviewContainer = document.querySelector( "#categoriesPreview .categoriesPreview-list" ); categoriesPreviewContainer.innerHTML += ` <div class="category-container"> <h3 id="id${category.id}" class="category-title">${category.name}</h4> </div>`; }); }; export default CategoriesPreview;
      Christian Velázquez

      Christian Velázquez

      student•
      hace 4 años

      Gracias por tu aporte. Me faltaba un "id", para que me salieran los colores.

    Jorge Campero

    Jorge Campero

    student•
    hace 2 años

    Una pregunta, en el codigo de CSS como supo juan que ID llevaria cada categoria, que procedimiento tomo para saber la informacion?

      Juan Castro

      Juan Castro

      teacher•
      hace 2 años

      Ir categoría por categoría recolectándolos manualmente No es lo mejor, idealmente debería haber un endpoint para consultar todas las categorías con sus respectivos colores

    Gilbert Ardila

    Gilbert Ardila

    student•
    hace 4 años

    me hago un apregunata, me puedes explicar la diferencia de insertar el texto en el h3 usando createTextNode o innerText, gracias

      Juan Castro

      Juan Castro

      teacher•
      hace 4 años

      Mira esta comparación: https://www.geeksforgeeks.org/difference-between-textcontent-and-innertext/

      Gilbert Ardila

      Gilbert Ardila

      student•
      hace 4 años

      ohhh, entendido!!

    fabio andres zamora osorio

    fabio andres zamora osorio

    student•
    hace 4 años

    en la parte del codigo css donde se le añade color a las categorias ¿como hago para conocer los numeros que se ponen en los selectores de id? lo que se me ocurre para conocer esos numeros es leer el atributo id del json de la peticion ya que en dicho atributo id es donde se muestran los numeros de id de cada categoria, osea, que eso quiere decir que para poder crear esa parte del codigo css primero debo hacer la peticion a la api para poder conocer los numeros de id ¿esto es correcto o no? . la parte del codigo css a la que me refiero es esta:

    #id28 { --idColor: var(--yellow); } #id12 { --idColor: var(--red); } #id16 { --idColor: var(--green); } #id35 { --idColor: var(--lightBlue); }
      Juan Castro

      Juan Castro

      teacher•
      hace 4 años

      Eso fue --literal y lastimosamente-- manual. Solo hice un console.log del endpoint de la lista de categorías, los llevé al CSS y le puse un colocito a cada uno. :sweat_smile:

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads