Estas instrucciones te permitirán obtener una copia del proyecto en funcionamiento en tu máquina local para propósitos de desarrollo y pruebas.
Software requerido
NodeJS >= 14.X
NPM >= 8.X
NestJS >= 8.X
MySQL >=7.X
Software opcional
Visual Studio Code ( O el editor de su preferencia)
Para ejecutar un entorno de desarrollo
Previamente ejecutar el comando en la terminal para descargar "node_modules" para el funcionamiento del proyecto
npm install
Previamente a ejecutar el servidor en desarrollo configurar el archivo .env con las credenciales del servidor correos y base de datos , ejecutar :
npm run start:dev
Dirigirse a la ruta http://localhost:3000/ donde tendra el API REST levantada
Las siguientes instrucciones serviran para ejecutar en su entorno local la pruebas unitarias realizadas para el proyecto
Para ejecutar todos los Unit Test desarrollados en Jest y reporte de cobertura de codigo ejecutar el comando
npm run test:cov
La carpeta con la cobertura del codigo se creara en la raiz del proyecto con la siguiente ruta coverage/Icov-report/index.html el cual se puede visualizar
Los test fueron desarrollados en Jest con ayuda de SuperTest realizados a la API , para validar el funcionamiento adecuado en un entorno más real
Para ejecutar todos los E2E Test y reporte de cobertura de codigo ejecutar el comando
npm run test:e2e:cov
La carpeta con la cobertura del codigo se creara en la raiz del proyecto con la siguiente ruta coverage-e2e/Icov-report/index.html el cual se puede visualizar
Para generar el build de producción del proyecto ejecutar el siguiente comando:
npm run build
Para desplegar el proyecto mediante Docker se tiene los archivos Dockerfile
y docker-compose.prod.yaml
, los cuales tienen preconfigurado la imagen y dependencias necesarias para levantar el proyecto
Para construir la imagen y ejecutarla tenemos el siguiente comando , el cual tambien tomara nuestras variable de entorno del archivo env
Ejecutar el siguiente comando en la raiz del proyecto
docker-compose -f docker-compose.prod.yaml --env-file .env up --build
En caso de requerir volver a ejecutar el contenedor del proyecto previamente creado ejecutar el comando:
docker-compose -f docker-compose.prod.yaml --env-file .env up
Pre requisitos
En la raiz del proyecto se tiene el archivo sonar-project.properties el cual tiene las propiedades necesarias para ejecutarlo sobre un SonarQube
Configurar los apartados : sonar.host.url , sonar.login sonar.password con los datos de su instancia correspondiente o usar SonarCloud con su token correspondiente
Sonaqube >= 9.X
Las pruebas fueron realizas sobre SonarQube 9.5 y SonarCloud para ejecutar el analisis de codigo ejecutar el comando para la instancia local:
npm run sonar
Reporte de Cobertura en SonarCloud
Las herramientas utilizadas son:
- NestJS - El framework para construir aplicaciones del lado del servidor eficientes, confiables y escalables.
- NPM - Manejador de dependencias
- Jest - Framework Testing para pruebas unitarias
- Docker - Para el despliegue de aplicaciones basado en contenedores
- SonarQube - Evaluacion de codigo on premise
- SonarCloud - Evaluacion de codigo cloud
- Visual Studio Code - Editor de Codigo
- Prettier - Formateador de Codigo
- WebAuthn - Estándar web del proyecto FIDO2 de la Alianza FIDO
- TabNine - Autocompletador de Codigo
Usamos GIT para el versionado.
- Jaime Burgos Tejada - Developer - SkyZeroZx - email : [email protected]