/buscador-personajes-harry-potter

Utiliza una API pública y te permite filtrar y ver información detallada de personajes de Harry Potter

Primary LanguageJavaScript

Buscador de personajes de Harry Potter

Buscador de personajes de Harry Potter que te permite filtrarlos y visualizar información más detallada de cada personaje. Te permite filtrar por nombre, casa, género, si tiene otros nombres alternativos, y además puedes ordenar el listado. También puedes compartir las url de cada personaje porque son url únicas que se mantienen.

Autor MIT License

¿Dónde verlo?

Buscador de personajes de Harry Potter

Mockup Desktop Version

Instalación y configuración

Requerimientos:

  • Necesitas tener node y npm instalados.

Clonar el repositorio

git clone URL

Instalar las dependencias

npm install

Ejecutar la aplicación

npm start

Desplegar el entorno de producción

npm run githubpages

React: Ejercicio de evaluación

El ejercicio consiste en desarrollar una página web con un listado de personajes de Harry Potter, que podemos filtrar por el nombre del personaje y casa:

1. Listado de personajes

  • Un listado de resultados de personajes con la info: Foto / Nombre / Especie
    • Traducir lo que venga de la API al castellano
  • Hay personajes sin foto (Vernon Dursley, Petunia Dursley o James Potter) que tienen que mostrar una imagen por defecto (sacada de placeholder.com o una imagen creada por nosotras)

2. Filtrado de personajes

  • Filtrado por nombre con un input
    • Que no distinga entre mayúscula o minúscula para sacar el resultado
  • Filtrado por casa con un select
    • Por defecto cuando carga la página debe aparecer la casa Gryffindor

3. Componentes del listado de personajes

  • Componente para el filtro de nombre.
  • Componente para el listado.
  • Componente para la tarjeta de cada personaje del listado.
  • Componente para el detalle de cada personaje.

4. Detalle de personajes

Al hacer clic sobre un personaje debe pasar lo siguiente:

  • Su información aparecerá a pantalla completa (con rutas y React Router DOM)
  • La información que aparecerá: Foto / Nombre / Casa / Vivo o muerto / Género / Especie / Nombres alternativos (en caso de que los tenga)
  • Link para volver a los resultados
  • Traducir lo que venga de la API al castellano

5. Detalles de calidad

  • Los filtros deben estar englobados por una etiqueta <form />.
  • Estando en el campo de filtrado si se pulsa intro se debe impedir que el navegador navegue o cambie la ruta sin querer.
  • Si se busca por un texto y no hay ningún personaje que coincida (por ejemplo "XXX") se debe mostrar un mensaje del tipo "No hay ningún personaje que coincida con la palabra XXX".
  • Al entrar en el detalle de un personaje y a continuación pulsar atrás, el campo de texto debe mostrar el texto que tenía anteriormente.

6. BONUS: Mejoras visuales

  • En el detalle del personaje:
    • Mostrar la casa con su respectivo emblema
    • Si un personaje está vivo o muerto con su respectivo icono.
  • Usar algún sistema de grid para pintar el listado de personajes.
  • Que funcione bien el responsive en dispositivos pequeños.

7. BONUS: URL compartible

  • Que si visitamos la URL del detalle de un personaje directamente desde un enlace veamos el detalle del personaje. Y si se refresca también.
  • Si el usuario navega a una URL inexistente mostrar un mensaje del tipo “el personaje que buscas no existe)

8 BONUS: Ordenación, más filtros y botón reset

  • Ordenar el listado de personajes alfabéticamente por nombre
  • Filtro de género
  • Botón de reset para que la página vuelva al listado principal