Skip to content

aptomx/drako

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Drako

Api base en NestJs framework.

General

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

Estructura

Podrás encontrar aquí la estructura del proyecto.

Pasos nuevos módulos

Podrás encontrar aquí los pasos para implementar nuevos módulos.

Instalación

  1. Ejecutar en la consola
npm install
  1. Configurar .env

Migraciones

  • 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

Seeders

  • 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

Ejecutar aplicación

- npm run start # development
- npm run start:dev # watch mode
- npm run start:prod # production mode

Docker

Desarrollo Normal

$ npm run docker:up          # Iniciar aplicación
$ npm run docker:logs        # Ver logs
$ npm run docker:down        # Apagar aplicación

Debugging con VSCode

$ npm run docker:up:debug    # Iniciar en modo debug

Luego en VSCode: Run and Debug → "Debug in Docker" → F5

Base de Datos

$ npm run docker:migrate     # Ejecutar migraciones
$ npm run docker:seed        # Ejecutar seeds
$ npm run docker:db:reset    # Resetear DB completa

Comandos Avanzados

$ docker-compose up -d              # Método manual
$ docker-compose exec app npm run migration:run
$ docker-compose down -v            # Eliminar volúmenes

About

Nodejs framework based on NestJS but with clean architecture on the top

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors