El repositorio contiene la arquitectura limpia para generar una proyecto. Además, se ha integrado Husky con Commitlint en la raíz del proyecto para garantizar el cumplimiento de las buenas prácticas de desarrollo y control de versiones con Git. Ver el documento de ayuda de Instalación.
- Husky: Herramienta que permite hooks de Git para hacer cumplir la calidad del código y garantizar la consistencia en los flujos de trabajo de desarrollo.
- CommitLint: Herramienta que obliga a cumplir con conventional commits
- NestJS: Framework en Node.js para construir la aplicación del lado del servidor.
- TypeScript: Superset de JavaScript que agrega tipado estático y otras características para mejorar la calidad del código y la productividad del desarrollador.
- Prisma: Prisma es un ORM que facilita el trabajo con bases de datos y presenta las siguientes herramientas.
- Jest: Framework de test en JavaScript, lo utilizamos para realizar pruebas unitarias.
- ViTest: Herramienta de test que admite Behavior-Driven Development (BDD) lo utilizamos para realizar pruebas de integración.
- TestContainer: Permite ejecutar contenedores Docker en las pruebas de integración, proporcionando entornos realistas para servicios como bases de datos, Redis, etc. Esto asegura que las pruebas se ejecuten contra dependencias reales en lugar de mocks.
- ViTest: Biblioteca para realizar pruebas HTTP sobre aplicaciones Node.js. Se utiliza junto con frameworks como Express o NestJS para verificar endpoints y respuestas del servidor de forma sencilla.
Para arrancar todo el proyecto en local debes abrir un terminal en la raíz del repositorio y ejecutar los siguientes comandos:
docker compose up -dnpx husky initEjecutamos las migraciones
npx prisma migrate dev#Iniciamos el proyecto
nvm use
npm install
npm run start:devTenemos
# all tests
$ npm run test
# api unit tests with jest
$ npm run test:unit
# api e2e tests with ViTest
$ npm run test:feature