1.8.0 • Published 2 years ago

nodejs-boilerplate-sequelize v1.8.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

nodejs-boilerplate-sequelize

Basic boilerplate for Node.js server application with Sequelize ORM and PostgreSQL DB

Pre-requisites

1) Node.js latest version with npm & npx 2) PostgreSQL v13+

Installing Dependencies

1) To install the boilerplate globally, run

npm i -g nodejs-boilerplate-sequelize

2) You can use the following command in any directory to generate the project folder structure

npx generate-boilerplate app-name

3) Create a ".env" file in the project's root and copy the contents of "example.env" file and replace the values. 4) To start the server locally, run

npm start

5) To start the server in development mode, run

npm restart

Project Folder Structure

1) Starting point of the application is "server.js". The command "npm start" runs "node server.js" script. 2) "server.js" defines the creation of application server using in-built "http" module. It takes Port Number from the "PORT" variable in .env file and binds it to the server. 3) The application uses "express" framework as defined in "app.js" file. It also defines custom functions to be used globally and middlewares as well. 4) PostgreSQL DB's connection string is written in "data/models/index.js". It takes Host, DB name, Username, Password and Dialect values from the variables in .env file. 5) The directory structure is as follows:

   |
   |--controllers
   |       |--userController
   |       
   |--data
   |       |--config
   |       |--migrations
   |       |--models
   |       |--seeders
   |
   |--routes
   |       |--user_routes
   |
   |--services
   |       |--userServices
   |
   |--.sequelizerc
   |
   |--app.js
   |
   |--package.json
   |
   |--server.js

6) Schemas for "users" model is defined under "models" directory.

Migrations

1) A model and migration file can be generated simultaneously via the following command.

npx sequelize-cli model:generate --name <ModelName> --attributes <FirstAttribute>:<dataType>,<SecondAttribute>:<dataType> ...

2) DB migrations can be run via

npx sequelize-cli db:migrate

3) DB migrations can be reverted via

  • For undoing latest migration
npx sequelize-cli db:migrate:undo
  • For undoing all migrations upto specific file
npx sequelize-cli db:migrate:undo:all --to <XXXXXXXXXXXXXX-filename>.js

Seeding

1) A seed file can be generated via

npx sequelize-cli seed:generate --name <SeedName>

2) DB seeding can be done via

npx sequelize-cli db:seed:all

3) DB Seeding can be reverted via

  • For undoing latest seed
npx sequelize-cli db:seed:undo
  • For undoing particular seed
npx sequelize-cli db:seed:undo --seed name-of-seed-as-in-data
  • For undoing all seeds
npx sequelize-cli db:seed:undo:all
1.8.0

2 years ago

1.7.0

2 years ago

1.6.0

2 years ago

1.5.0

2 years ago

1.4.0

2 years ago

1.3.0

2 years ago

1.2.0

2 years ago

1.1.0

2 years ago

1.0.0

2 years ago