Api base en NestJs framework.
Existen 2 paquetes principales:
- El dominio es el responsable de representar los conceptos del negocio y su lógica, no tiene dependencia externa.
- modelos
- servicios
- La infraestructura contiene todos los detalles técnicos, configuración e implementaciones. No debe contener ninguna lógica comercial. Es la capa más volátil. Dado que es muy probable que las cosas en esta capa cambien, se mantienen lo más lejos posible de las capas de dominio más estables.
- Conexión base de datos
- Conexión provedores externos
Podrás encontrar aquí la estructura del proyecto.
Podrás encontrar aquí los pasos para implementar nuevos módulos.
- Ejecutar en la consola
npm install- Configurar .env
- Ejecutar desde consola:
- npx sequelize-cli migration:generate --name migrations_name # Crea un archivo en blanco para configurar la migración
- npx sequelize-cli db:migrate # Corre las migraciones pendientes encontradas
- npx sequelize-cli db:migrate:undo # Hace un rollback de la ultima migración
- npx sequelize-cli db:migrate:undo:all # Hace un rollback de las migraciones- Nota:
Los archivos de migraciones se crean con dos metodos lo cuales se tienen que llenar:
- up: Los cambios a realizar en la base de datos
- down: Los cambios a realizar cuando se haga un rollback
- Ejecutar desde consola:
- npx sequelize-cli seed:generate --name demo-user # Crea un archivo seed
- npx sequelize-cli db:seed:all # Corre todos los seeds
- npx sequelize-cli db:seed --seed name-of-seed # Corre un seed especifico
- npx sequelize-cli db:seed:undo # Rollback al ultimo seed
- npx sequelize-cli db:seed:undo --seed name-of-seed-as-in-data # Rollback a un seed en especifico
- npx sequelize-cli db:seed:undo:all # Rollback todos los seeds- npm run start # development
- npm run start:dev # watch mode
- npm run start:prod # production mode$ npm run docker:up # Iniciar aplicación
$ npm run docker:logs # Ver logs
$ npm run docker:down # Apagar aplicación$ npm run docker:up:debug # Iniciar en modo debugLuego en VSCode: Run and Debug → "Debug in Docker" → F5
$ npm run docker:migrate # Ejecutar migraciones
$ npm run docker:seed # Ejecutar seeds
$ npm run docker:db:reset # Resetear DB completa$ docker-compose up -d # Método manual
$ docker-compose exec app npm run migration:run
$ docker-compose down -v # Eliminar volúmenes