An open API service indexing awesome lists of open source software.

https://github.com/enriquesfranco/primeros-pasos-con-react

Curso de React + TypeScript
https://github.com/enriquesfranco/primeros-pasos-con-react

react typescript

Last synced: 23 days ago
JSON representation

Curso de React + TypeScript

Awesome Lists containing this project

README

        

# Curso de React + TypeScript

## Prueba técnica para Juniors y Trainees de React en Live Coding

### APIs

- **Facts Random**: [https://catfact.ninja/fact](https://catfact.ninja/fact)
- **Imagen Random**: [https://cataas.com/cat/says/hello](https://cataas.com/cat/says/hello)

Recupera un hecho aleatorio de gatos de la primera API ✅

---

## Ejercicios de Entrevista 3 - Parte 1

### Nivel 1

- [✅] No se muestran los productos al cargar la aplicación.

### Nivel 2

- [✅] Cuando buscamos no se muestran productos.

### Nivel 3

- [✅] Los productos que salen con un precio de 100 o menos deben tener la clase "sale" activada.

### Extra

- [✅] La aplicación tarda unos segundos en mostrar los productos sin mostrar un "cargando...".

---

## Ejercicios de Entrevista 3 - Parte 2

### Nivel 1

- [✅] El search debe ser case insensitive.

### Nivel 2

- [✅] El precio no se muestra localizado para Argentina.

### Nivel 3

- [✅] Agregar un select para ordenar los resultados alfabéticamente o por precio.

### Extra

- [✅] La query y la preferencia de orden deberían persistirse al recargar la página.

---

## Ejercicios de Entrevista 3 - Parte Final

### Nivel 1

- [✅] Los recomendados deberían ser aleatorios y no cambiar cuando cambia la query.

### Nivel 2

- [✅] El search está desfazado y se llama muy frecuentemente.

### Nivel 3

- [✅] Debemos poder agregar y quitar productos a favoritos al hacer clic en ellos, y los productos en favoritos deben tener la clase "fav".

### Extra

- [✅] Los favoritos deben persistirse cuando recargamos la página.

---

## Ejercicios de Entrevista 4 - Parte 1

### Nivel 1

- [✅] Hay un warning en la consola.

### Nivel 2

- [✅] La aplicación crashea al iniciar.

### Nivel 3

- [✅] Nuestra función de eliminar no está implementada.

### Extra

- [✅] El foco debe iniciarse en nuestro input.

---

## Ejercicios de Entrevista 4 - Parte 2

### Nivel 1

- [✅] La aplicación se recarga al agregar un elemento.

### Nivel 2

- [✅] Nuestro input no se limpia al agregar elementos nuevos.

### Nivel 3

- [✅] Nuestra función de `add` no está implementada.

### Extra

- [✅] La aplicación muestra el formulario vacío por unos segundos hasta que termina de cargar.

---

## Ejercicios de Entrevista 4 - Parte Final

### Nivel 1

- [✅] Podemos agregar elementos vacíos.

### Nivel 2

- [✅] Se agregan elementos vacíos a pesar de tener todo bien.

### Nivel 3

- [✅] Nuestra función de `toggle` no está implementada.

### Extra

- [✅] Simular un delay en la carga de datos de 1 segundo.

---

## Ejercicios de Entrevista 5 - Parte 1

### Nivel 1

- [✅] Debería ejecutar la función `handleKeyDown` cada vez que toco una tecla del teclado.

### Nivel 2

- [✅] Debería agregar la clase `correct` si la letra está en la posición correcta en relación con la respuesta.

### Nivel 3

- [✅] Solo debería poder pasar a la siguiente palabra si escribí 5 letras.

### Extra

- [✅] Una vez que gane, me permite seguir escribiendo.

---

## Ejercicios de Entrevista 5 - Parte 2

### Nivel 1

- [✅] Al apretar enter cuando gané, debería reiniciarse el juego.

### Nivel 2

- [✅] Tenemos un error de linter en `handleKeyDown`.

### Nivel 3

- [ ] Debería agregar la clase `present` si la letra está presente en la respuesta pero en una posición incorrecta.

### Extra

- [✅] Traerse la palabra con el helper de `api`.

---

## Ejercicios de Entrevista 6 - Parte 1

- [✅] El precio debería mostrarse al lado del nombre.
- [✅] Mostrar un texto de "Cargando..." hasta que obtengamos los datos.
- [✅] Deberíamos mostrar la cantidad de elementos en el carrito en el botón flotante.
- [✅] No deberíamos poder agregar más de 3 elementos al carrito.

---

## Ejercicios de Entrevista 6 - Parte 2

- [✅] Deberíamos ver el total a pagar en el botón flotante.
- [✅] Nuestro carrito no debería poder exceder los $10.
- [✅] Implementar un buscador por nombre.
- [✅] Deberíamos poder agregar y quitar elementos de favoritos.
- [✅] Los favoritos deberían persistirse al recargar la página.

---

## Ejercicios de Entrevista 6 - Parte Final

### Nivel 1

- [ ] Cuando agregamos un elemento a nuestro carrito, todas las cards se vuelven a renderizar.

### Nivel 2

- [✅] Cuando tengamos un elemento en el carrito, debemos reemplazar el botón de agregar por un campo que nos indique la cantidad en el carrito y dos botones: uno de incrementar y otro de decrementar. Ambos botones deben funcionar.

### Nivel 3

- [✅] El carrito debería persistirse al recargar la página.

### Extra

- [✅] Implementar el carrito sin arrays.

---

¡Listo! Ahora tu README está mucho más organizado, es fácil de leer y está mejor estructurado. Los títulos se agrupan de manera lógica, y se ha mejorado la presentación de las tareas y ejercicios para que sea más claro y visualmente agradable.