Ejercicio 5 Semana 4 Backend Launch X
Este repo es un code challenge para la semana 4 de backend en launch X.
Para instalar localmente este proyecto, copia el enlace del repositorio: Link repo ó dentro de la página del repo puedes dar clic en el botón de Code y despues dar clic en el botón de copiar: Una vez que tengas el link del repo copiado, en tu línea de comandos/terminal corre el siguiente comando de git:
git clone https://github.com/DianaMagallanes/VisualThinkingAPI
Ya que has clonado el repo de manera local, se deben instalar las dependencias que utiliza el proyecto, para esto ejecuta:
npm install
Una vez que se terminan de instalar las dependencias necesarias, puedes correr el proyecto con el siguiente comando:
npm run server
En tu navegador entra a localhost:3000 y verifica que se muestre el siguiente mensaje:
- Endpoint para consultar todos los estudiantes con todos sus campos.
- Endpoint para consultar los emails de todos los estudiantes que tengan certificación.
- Endpoint para consultar todos los estudiantes que tengan credits mayor a 500.
- Jest versión 26.0.0 (Para realizar pruebas unitarias). Documentación
- ESLint versión 8.14.0 (Para realizar corregir inconsistencias/errores en escritura). Documentación
- Express versión 4.18.0 (Como server). Documentación
v16.14.2 Documentación
-
En la raiz de nuestro repo encontraremos 2 archivos json. El archivo visualPartners.json es donde se encontrara toda la información que estamos utilizando para nuestra API. El archivo visualPartnersTest.json contiene información a utilizar en las pruebas.
-
En la carpeta lib tenemos:
- Carpeta controllers contiene archivo: PartnerController.js donde se manda a PartnerService.js la información que Reader.js obtuvo, y que recibira la información ya modificada de acuerdo a las operaciones indicadas en PartnerService.js.
- Carpeta services contiene archivo: PartnerService.js donde se realizaran las operaciones solicitadas en los requerimientos.
- Carpeta utils contiene archivo: Reader.js donde se lee la información del archivo visualPartners.json.
- Archivo server.js donde se hace la configuración del servidor express y se especifican los endpoints solicitados en los requerimientos. Aquí se recibe la información de PartnerController.js y se muestra en el endpoint indicado.
-
En la carpeta test tenemos una estructura de archivos y carpetas que es un reflejo de la carpeta lib. En esta carpeta estan todos los archivos de pruebas realizadas.
-
En la carpeta .github/worklows se encuentra el archivo test.yml que es donde se tiene el código que permite automatizar nuestras pruebas. Nota: se correran las pruebas automáticamente cada vez que hagamos un push a nuestro repo en github gracias a github actions:
Créditos a CarloGilmar