0% encontró este documento útil (0 votos)
50 vistas

Examen FullStack Mid.

Este documento describe una prueba técnica para desarrollar una aplicación fullstack de una tienda de comercio electrónico. Se solicita implementar el backend con Node.js y una API REST, conectarse a una base de datos, y desarrollar el frontend para mostrar y administrar productos.

Cargado por

hector.hernandez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
50 vistas

Examen FullStack Mid.

Este documento describe una prueba técnica para desarrollar una aplicación fullstack de una tienda de comercio electrónico. Se solicita implementar el backend con Node.js y una API REST, conectarse a una base de datos, y desarrollar el frontend para mostrar y administrar productos.

Cargado por

hector.hernandez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

Prueba 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.

Gracias por tu tiempo, te deseamos mucha suerte.

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:

1. Crear una interfaz para visualizar los productos de la tienda.


2. Crear un formulario para el envío del producto.
3. Realizar una cotización con el servicio de Envia.com.
4. Generar la guía utilizando el servicio de Envia.com.

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/

Paq. Disponibles: Doc.


https://api-test.envia.com/available-carrier/{{country_code}}/{{internat
ional}}

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.

Nota: Si necesita instalar librerías o herramientas adicionales a las ya mencionadas, siéntase


libre de hacerlo. Si se agregan configuraciones al proyecto y son necesarias para su inicio, por
favor incluya las instrucciones correspondientes, al igual que el volcado de la base de datos o
los queries necesarios. También, anexe lo necesario para generar datos de prueba para que la
aplicación sea funcional.
Entregables
Agregar README en github que contenga las instrucciones para correr el proyecto junto a el
script para la creación de la estructura de base de datos.

Tiempo límite de respuesta:


24-48 horas

También podría gustarte