Es tu primer día en tecnoshare.com luego de un intenso entrenamiento de 10 semanas por fin tenes la oportunidad de mostrar lo que aprendiste, y tu potencial como desarrollador backend en nodejs con express y mongodb.
Luego de abrir el correo encuentras un mail de tu Líder Técnico con tu primera asignación!! 💪
Bienvenid@! estuvimos esperando por horas que llegares, tenemos varias tareas criticas y prioritarias en nuestro backlog. Por favor presta mucha atención a las instrucciones. No dudes en preguntarme cualquier cosa, aunque generalmente estoy muy ocupado resolviendo problemas heredados de las rotaciones de los desarrolladores.
En el presente repositorío encontrarás un proyecto de nodejs que ya tiene codigo base del backend con el que vamos a trabajar. Te aconsejo que sigas los siguientes pasos para armar tu entorno de trabajo.
- Realizar un Fork del presente repositorio
- Realizar un clone del presente repositorio
- Instalar las dependencias
- Solicitar las variables de entorno que contiene la conexion string a mongodb (antes de preguntar, revisa el chat, seguro estan ahí)
- Ejecutar el servidor web de la api REST con el script de npm start-dev si queres trabajar con nodemon (tendrías que instalarlo) con start solo tambien funciona. El backend se conecta con una base de datos Mongodb en la cual se encuentra la base de datos sample_supplies con una collection llamada sales, ahí se encuentran aprox. 500 ventas de nuestro cliente.
- Proba el endpoint que ya se encuentra desarrollado: /api/sales debería retornar un json con 500 ventas. Sí por algun motivo no llegase a funcionar, solicita asistencia.
- Necesitamos un endpoint que nos devuelva una venta particular por _id
- Necesitamos un endpoint que nos permita listar las ventas filtradas por el metodo de compra (purchaseMethod), que pueden ser: Phone, Online, In store...
- Necesitamos un endpoint que nos devuelva las compras de un cliente customner por email
- Necesitamos encontrar los clientes insatisfechos (con menor a 3 de satisfacción)
- Generar un endpoint para obtener el importe total de la venta por localizacion
Desde ya muchas gracias por la colaboración! 😉 como te comente en la entrevista soy muy detallista en la prolijidad del codigo y la performance cada detalle cuenta, no me gusta mucho las cosas fuera del estandar de APIREST, sin embargo si no estas seguro, es mejor que lo resuelvas como puedas y me dejes notas en el readme.md del repo, para que yo pueda probar.
Si ya terminaste o son las 10:00 asegurate de seguir los siguientes pasos para la entrega:
- Completar el listado de endpoints, especificando parametros si los hubiera, mas abajo en este mismo archivo.
- Realizar un commit a tu repo con un mensaje con tu nombre completo
- Realizar un push a tu repositorio
- Realizar un pull request a mi repositorio
- /api/sales
- /api/sales/:id
- /method/:method
- /customer/:email
- /customers/dissatisfied/
- /accountant/totalSales/:storeLocation (Està mal)