Subido por Maria Gonzales

Pruebas-tecnicas-Front-end-Developer

Anuncio
PRUEBAS TÉCNICAS
basadas en competencias de
desarrollo para contratación
de talento humano
Front-end Developer
Tipo de solución
Aplicación móvil
Tecnología para entregar
Javascript / React Native
Formato de entrega
Repo en Github a correo [email protected]
Fecha y hora de entrega
1 de Abril de 2023 23:59 GMT-6
PRUEBA A DESARROLLAR
Antecedentes
En un pueblo donde se desarrollan artesanías y a su vez es visitada por turistas, la población
local necesita una aplicación móvil donde puedan colocar sus productos y a través de la misma
app los turistas puedan realizar sus reservas de productos (No pago en línea) para impulsar la
economía local de dicha comunidad.
Dicha aplicación va enfocada a trabajar en base a los ODS
1 - Fin de la pobreza
8 - Trabajo decente y crecimiento económico
11 - Ciudades y comunidades sostenibles
Los usuarios han recibido la capacitación para que puedan crear su usuario y cargar sus
productos, así los clientes/turistas que descarguen la app, podrán realizar las reservas de
dichos productos.
ALCANCE USUARIO ARTESANO
Con la siguiente API desarrollar la aplicación móvil
POST
ENDPOINT
PARAMS
https://dummyjson.com/users/a
dd
firstName: string
lastName: string
age: int
email: string
username: string
password: string
gender: string
(male, female).
POST
https://dummyjson.com/auth/lo
gin
GET
https://dummyjson.com/auth/pr
oducts/category/handcraft
POST
https://dummyjson.com/auth/pr
oducts
username: string
password: string
N/A
title: string,
description:
string
price: float
discountPercent
age: float
stock: 1
category: string
DESCRIPTION
Crear pantalla para registrar
los usuarios y obtener el Id
devuelto.
Se deberá crear un usuario
para el artesano.
Crear pantalla para iniciar
sesión a través del username y
password, se deberá
almacenar el token de
autenticación de manera local
utilizando redux persist para
las siguientes peticiones a
través de token Bearer
Obtener los productos de los
artesanos
El artesano deberá tener una
interfaz donde pueda crear un
producto.
Para la categoría dejar siempre
“handcraft” y el stock en 1, al
crear el producto, la app
deberá navegar a ver el detalle
del producto
ENDPOINT
PARAMS
DESCRIPTION
N/A
La app del artesano deberá
tener una pantalla donde se
muestran todas las reservas
que se tienen, puede ser el
home o crear otra aparte
PUT
https://dummyjson.com/auth/to
dos/{ID}
ID del todo
body
completed: bool
El artesano deberá tener una
pantalla donde podrá decir que
la reserva del producto ya está
lista, cambiando el TODO de
false a true y deberá
desaparecer del listado de
TODOS
DELETE
https://dummyjson.com/auth/to
dos/{ID}
ID de todo
Eliminar el TODO que se pasó
de false a true
GET
https://dummyjson.com/auth/to
dos/
ALCANCE USUARIO TURISTA
Con la siguiente API desarrollar la aplicación móvil
POST
POST
ENDPOINT
PARAMS
https://dummyjson.com/users/a
dd
firstName: string
lastName: string
age: int
email: string
username: string
password: string
gender: string
(male, female)
https://dummyjson.com/auth/lo
gin
GET
https://dummyjson.com/auth/pr
oducts/category/handcraft
GET
https://dummyjson.com/auth/pr
oducts/{ID}
username: string
password: string
N/A
ID de producto
DESCRIPTION
Crear pantalla para registrar
los usuarios y obtener el Id
devuelto.
Se deberá crear un usuario
para el turista
Crear pantalla para iniciar
sesión a través del username y
password, se deberá
almacenar el token de
autenticación de manera local
utilizando redux persist para
las siguientes peticiones a
través de token Bearer
Obtener los productos y
mostrarlos en pantalla de
manera atractiva hacia el
usuario (con botón para
realizar la reserva
directamente o ver más al
darle tap al producto en sí)
Mostrar el detalle de un
producto, con botón de realizar
la reserva
POST
GET
ENDPOINT
PARAMS
DESCRIPTION
https://dummyjson.com/auth/ca
rts/add
userId: int
products: [{
id: int,
quantity: int,
}]
Agregar el producto reservado
al carrito de compra, se
pueden agregar más de un
producto en la llave “products”
ya que acepta un array con los
json de cada producto.
ID de usuario
Mostrar en otra pantalla los
productos del carrito, dicha
pantalla debe tener
navegación al home (y
viceversa) cuando se desee y
agregar más productos que
aparezcan reflejados en dicho
carrito
todo: string
completed:bool
userId: int
Se creará la reserva con el
completed false, en el todo: se
deberá colocar “Reserva de
producto: NOMBRE PROD
CONCATENADO”
ID de carrito
Luego de realizar la reserva, se
deberá eliminar el carrito y
regresar al home
https://dummyjson.com/auth/ca
rts/user/{ID}
POST
https://dummyjson.com/auth/to
dos/add
DELETE
https://dummyjson.com/auth/ca
rts/{ID}
¿QUÉ TE EVALUAREMOS?
INDICADOR
PUNTAJE
Conocimiento previo de envío de parámetros
según métodos descritos en API
2%
Creación de interfaz fácil de utilizar para el
artesano considerando el poco uso de
herramientas tecnológicas
5%
Flujo dinámico para ambos roles
7%
Lógica básica de envío de parámetros entre
pantallas
7%
Clean code programación orientada a objetos
7%
Legibilidad del código: nombres de métodos y
variables claras, autodocumentado, métodos
pequeños, no comentarios innecesarios.
8%
Reutilización de funciones que agilicen
procesos y cargas
8%
Control de excepciones para experiencia de
usuario
8%
Señalización de acciones a través de
paquetería de iconos
8%
Utilización de useStates y useEffects
10%
¿QUÉ TE EVALUAREMOS?
INDICADOR
PUNTAJE
Utilización de Redux Persist para
almacenamiento local
10%
Utilización de herramientas como Expo para la
exportación en Android e iOS
10%
Realización de pruebas unitarias de alta
cobertura (deben ser satisfactorias)
10%
PUNTOS ADICIONALES
Ejecutable en APK e IPA
Interfaz gráfica amigable y utilización de
colores en las pantallas
Uso de librerías de Geolocalización y mapas o
cualquier otro elemento creativo o tecnológico
para mejorar la experiencia del cliente y/o
agilizar la programación
Descargar