Bienvenido a la prueba técnica para el puesto de Desarrollador React Native Semi-Senior. En esta prueba, deberás desarrollar una aplicación móvil en React Native que consuma una API pública y muestre una lista de usuarios con detalles adicionales.
✅ Desarrollar una pantalla que consuma datos de una API pública.
✅ Implementar navegación entre pantallas.
✅ Manejar el estado global con Redux o Zustand.
✅ Aplicar buenas prácticas de código y estructura de archivos.
✅ Implementar pruebas unitarias con Jest y React Testing Library.
- React Native con TypeScript.
- Redux o Zustand para el manejo del estado global.
- React Navigation para la gestión de pantallas.
- Jest y React Testing Library para pruebas.
Usaremos la API de JSONPlaceholder para obtener la lista de usuarios:
📌 Endpoint: https://jsonplaceholder.typicode.com/users.
✅ Mostrar una lista de usuarios obtenida de la API.
✅ Cada usuario debe mostrar: Nombre, Correo Electrónico, Avatar (imagen genérica).
✅ Al hacer clic en un usuario, debe navegar a una pantalla de detalles.
✅ Uso de styled-components o Tailwind CSS para estilos.
✅ Mostrar información adicional del usuario: Teléfono, Dirección, Empresa.
✅ Desata tu creatividad, y muestra estos detalles de una forma agradable (Tarjetas, animaciones, efectos, etc.)
✅ Botón para regresar a la pantalla anterior.
✅ Uso de styled-components o Tailwind CSS para estilos.
✨ Agrega un campo de busqueda que permita filtrar en tiempo real por nombre o email.
✨ Cargar usuarios de forma paginada por 5 - 10 elementos (Scroll infinito, botones de carga, etc.).
✨ Agregar un loader para carga de datos (Carga de todos los usuarios, ingreso a pantalla de detalles, paginación).
✨ Manejo de errores para los estados de la respuesta de la API y reintentos.
✨ Implementación de dark mode.
✨ Animaciones para mejorar la UX en las pantallas.
✨ Manejo de caché con AsyncStorage.
✨ Describe brevemente en que escenarios utilizarias Expo y en cuales React Native CLI (Puedes agregarlo al README de tu fork).
- Hacer clic en el botón Fork en la parte superior derecha para crear una copia en tu cuenta de GitHub.
- Clonar el repositorio forkeado en tu máquina local:
git clone https://github.com/HomePower-Co/prueba-fontend.git
- Crea una nueva rama con tu nombre o un identificador para tu solución
git checkout -b [tu-nombre-o-identificador]
- Desarrolla tu solución en la rama creada
- Una vez finalizado, sube tus cambios a tu repositorio y abre un Pull Request (PR) hacia este repositorio.
- Asegúrate de incluir una breve descripción en el PR explicando tu enfoque y decisiones técnicas.
- Puedes usar IA o cualquier recurso que consideres necesario, sin embargo ten presente que podrías ser requerido para sustentar tu solución.
Considera buenas practicas para estructurar tu proyecto de tal forma que pueda ser escalable, modular y organizado.
🕒 Tiempo estimado: 2-4 horas.
📂 Formato de entrega:
-
Haz un Pull Request con tu código.
-
Asegurate de que la navegacion y los consumos esten todos funcionales.
-
Si tienes comentarios o explicaciones, agrégalas en el README.md de tu fork. Incluye adicionalmente instrucciones sobre como ejecutar tu proyecto.
NOTA: Nos interesa que puedas contar con el tiempo suficiente para realizar la prueba. Por esto, esperamos que puedas completarla en 2-4 horas, sin embargo puedes tomarte hasta 24 horas en compartirnos tu solución
🚀 ¡Exitos! Estaremos pendientes para ver tu solución! 😊