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
- Host: GitHub
- URL: https://github.com/enriquesfranco/primeros-pasos-con-react
- Owner: enriqueSFranco
- Created: 2023-08-01T22:34:07.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-14T19:37:37.000Z (about 2 months ago)
- Last Synced: 2025-04-14T20:35:37.855Z (about 2 months ago)
- Topics: react, typescript
- Language: TypeScript
- Homepage:
- Size: 196 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.