Examen FullStack Mid.
Examen FullStack Mid.
Nos da gusto saber que continuas con nosotros en el proceso de selección para finalizar te
pedimos que realices la siguiente prueba técnica. Lee con atención las instrucciones.
Descripción:
Cree una vista de productos donde el cliente pueda agregar, modificar o eliminar productos, y
tenga la capacidad de cotizar y generar guías.
Back End
Usted deberá realizar los servicios solicitados mediante una API REST con la finalidad de
crear una aplicación para la obtención de productos del ecommerce y así mismo poder mostrar
dichos productos en pantalla. Es importante mencionar se debe realizar con NodeJS y las
herramientas que sean estrictamente necesarias para las especificaciones que se mencionan a
continuación.
Especificaciones
1. Crea un nuevo proyecto fullstack y nómbralo con tu nombre. Por ejemplo,
alejandro-de-la-cruz-martinez.
2. Conéctate a la base de datos (MySQL o MongoDb). No se proporcionará la conexión
para este punto, es decir, deberás instalar en tu local el motor de la base de datos o
usar algún proveedor.
3. Establece la conexión y crea las Tablas.
4. Los productos deben ser obtenidos, creados, actualizados y eliminados.
5. Crea las rutas requeridas con el prefijo products.
6. Agrega seguridad a las rutas para acceder al servicio solo con un token que debe estar
guardado en la base de datos.
7. Implementa la librería de Joi para realizar las validaciones de los payloads (debe ser la
librería oficial).
8. Una vez que hayas terminado todos los puntos anteriores, asegúrate de que el proyecto
esté funcionando correctamente y sube tus cambios al repositorio en la rama creada
anteriormente.
Front End
Necesitarás desarrollar una tienda de comercio electrónico con un diseño que sea fácil
de usar, intuitivo y que cumpla con las siguientes especificaciones:
Especificaciones
1. Para obtener los productos, solicitalos al endpoint que generó en la sección de
Back End.
2. Enliste los productos y, al hacer clic en cada uno, podrá ver sus detalles.
3. El detalle incluirá un botón de compra, que desplegará un formulario para la
dirección de envío.
4. Con los datos del formulario, realice la cotización usando los servicios de
Envia.com, especificados en la sección de Servicios.
a. Para su comodidad las cotizaciones pueden ser realizadas siempre con la
misma paquetería, le recomendamos : DHl, Estafeta. O en su defecto
consultar el endpoint de paquetes disponibles proporcionado en la
sección de Servicios.
5. Una vez generada la cotización, se mostrará un botón para generar el envío.
6. Al presionar el botón de generar envío, se realizará la generación del mismo con
los servicios de Envia.com.
7. Tenga en cuenta que para acceder a la API, deberá enviar el token en el
encabezado de autorización, el cual se le proporcionará en la sección de
Recursos.
8. Obtendrá un JSON con la información del envío y deberá mostrar la información
en pantalla.
9. Los campos que debe considerar para mostrar de los productos son: carrier,
service, trackingNumber, trackUrl, label.
10. En el formulario mencionado, debe incluir los campos necesarios para generar la
guía de manera correcta.
(Opcional)
Marque todos los campos del formulario como obligatorios. Si no se captura
información en alguno de ellos, resaltado en rojo e indique que es requerido.
Tablas
JavaScript
users
{
name: String,
phone: String,
img_profile: String
}
JavaScript
catalog_products
{
name: String,
description: String,
height: Number,
length: Number,
width: Number
}
JavaScript
access_tokens
{
user_id: ObjectID,
token: String
}
Servicios
https://docs.envia.com
JavaScript
Cotización: Doc.
https://api-test.envia.com/ship/rate/
Generación: Doc.
Endpoind: https://api-test.envia.com/ship/generate/
Recursos
JavaScript
token: 8af188fb1b693a0f30ca40a2634208be6753d79e36e48bf5351cce83c324e9c0
Todos los esquemas deberán incluir los atributos de created_at y updated_at en la tabla igual
que sus índices, llaves primarias y llaves foráneas en caso de ser necesarias.
Puntos a calificar.
● Evalúa la calidad del código, la organización y las mejores prácticas.
● Asegúrate de que el código sea legible y esté bien comentado.
● Considera la eficiencia y la seguridad en la implementación.
● El candidato debería ser capaz de explicar su código y razonar sus decisiones.
● Cumplimiento de cada requisito solicitado.