nodejs-sequelize-template
A boilerplate/starter project for quickly building RESTful APIs using Node.js, Express, and Sequelize.
By running a single command, you will get a production-ready Node.js app installed and fully configured on your machine. The app comes with many built-in features, such as authentication using JWT, request validation, pagination, etc. For more details, check the features list below.
I have created this template to enable nodejs developers to start the project from scratch that is scalable, optimized and easy to maintain
This project is ready to deploy on any nodejs capable server
This project follows the approach of Model and controller structure
- Node.js (supported versions are 16 till 20)
- express
- yarn
- socket.io
- mysql
- sequelize ORM
- rate-limiter
- cors
- jwt
- prettier
- eslint
- husky
- swagger
- joi validation
- image resize option
- module aliases (see
jsconfig.json
for reference) - middlewares
Install Node.js version 16
or 20
(LTS)
Install yarn globally
npm i -g yarn
Install sequelize-cli globally
npm i -g sequelize-cli
To create a project, simply run:
npx create-nodejs-sequelize-app <project-name>
Or
npm init create-nodejs-sequelize-app <project-name>
Clone the project
git clone --depth 1 https://github.com/abdullahjavaid86/nodejs-sequelize-template
Go to the project directory
cd nodejs-sequelize-template
Setup environment variables
cp .env.example .env
Setup environment variable in .env
specially DATABASE_*
Install dependencies
yarn
Start the server
yarn dev
- Run
yarn migration:up
to migrate tables in database
- Run
yarn seed:all
to insert initial data into database
Take a look at scripts
in package.json to get familiar with all available commands.
To check the server open the browser and enter http://localhost:4000
GET /api/v1/users
Parameter | Type | Description |
---|---|---|
x-auth-token |
string |
Required. user authorization token in header |