Este proyecto fue desarrollado como parte de una prueba técnica para evaluar conocimientos en Vue.js y habilidades en el desarrollo de interfaces interactivas. La aplicación recrea una dinámica inspirada en la serie Pokémon, donde los usuarios deben adivinar el nombre de un Pokémon basándose en su silueta inicial. A través de esta aplicación, se exploran conceptos avanzados del framework, integrando una API externa para obtener datos dinámicos.
La aplicación permite a los usuarios interactuar con 20 Pokémon cargados dinámicamente desde la PokéAPI. Inicialmente, las imágenes tienen un filtro que oculta la identidad del Pokémon. Los usuarios pueden:
- Ingresar el nombre del Pokémon a través de un input asociado a cada imagen.
- Verificar su respuesta al presionar el botón Descubrir o al utilizar la tecla Enter:
- Si el nombre es correcto, el filtro desaparece y se muestra el nombre del Pokémon.
- Si el nombre es incorrecto, aparece una ventana emergente notificando el error.
- Llevar un conteo de los Pokémon descubiertos correctamente.
Durante el desarrollo, se implementaron las siguientes funcionalidades clave de Vue.js:
- Enlace de estado con templates: Uso de directivas para sincronizar datos entre el estado y el DOM.
- Componentización: Creación e importación de componentes hijos con comunicación mediante props.
- Renderizado dinámico: Uso de
v-for
para iterar y renderizar múltiples elementos. - Interactividad con eventos: Enlace de eventos del DOM con métodos locales.
- Comunicación de componentes: Envío de datos desde componentes hijos al padre.
- Renderizado condicional: Mostrar y ocultar elementos de forma dinámica.
- Estilo dinámico: Aplicación condicional de clases y estilos usando bindings.
- Consumo de API: Uso de Axios para consumir datos de la PokéAPI.
- Ciclo de vida de Vue: Ejecución de código al cargar la aplicación mediante hooks.
- Propiedades computadas: Procesamiento de datos derivados del estado.
- Framework: Vue.js
- API: PokéAPI (pokeapi.co)
- Librería de peticiones HTTP: Axios
- Estilos CSS: Filtros dinámicos para la ocultación inicial de imágenes.
- Clona el repositorio:
git clone https://github.com/tu-usuario/tu-repositorio.git
- Instala node:
npm install
- Inicia la aplicación:
npm run dev