├── .dockerignore ├── .editorconfig ├── .env.example ├── .eslintignore ├── .eslintrc.json ├── .gitattributes ├── .gitignore ├── .husky ├── post-checkout ├── post-commit └── pre-commit ├── .lintstagedrc.json ├── .prettierignore ├── .prettierrc.json ├── .travis.yml ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── README.md ├── bin └── createNodejsApp.js ├── docker-compose.dev.yml ├── docker-compose.prod.yml ├── docker-compose.test.yml ├── docker-compose.yml ├── ecosystem.config.json ├── jest.config.js ├── package.json ├── src ├── app.js ├── config │ ├── config.js │ ├── logger.js │ ├── morgan.js │ ├── passport.js │ ├── roles.js │ └── tokens.js ├── controllers │ ├── auth.controller.js │ ├── index.js │ └── user.controller.js ├── docs │ ├── components.yml │ └── swaggerDef.js ├── index.js ├── middlewares │ ├── auth.js │ ├── error.js │ ├── rateLimiter.js │ └── validate.js ├── models │ ├── index.js │ ├── plugins │ │ ├── index.js │ │ ├── paginate.plugin.js │ │ └── toJSON.plugin.js │ ├── token.model.js │ └── user.model.js ├── routes │ └── v1 │ │ ├── auth.route.js │ │ ├── docs.route.js │ │ ├── index.js │ │ └── user.route.js ├── services │ ├── auth.service.js │ ├── email.service.js │ ├── index.js │ ├── token.service.js │ └── user.service.js ├── utils │ ├── ApiError.js │ ├── catchAsync.js │ └── pick.js └── validations │ ├── auth.validation.js │ ├── custom.validation.js │ ├── index.js │ └── user.validation.js ├── tests ├── fixtures │ ├── token.fixture.js │ └── user.fixture.js ├── integration │ ├── auth.test.js │ ├── docs.test.js │ └── user.test.js ├── unit │ ├── middlewares │ │ └── error.test.js │ └── models │ │ ├── plugins │ │ ├── paginate.plugin.test.js │ │ └── toJSON.plugin.test.js │ │ └── user.model.test.js └── utils │ └── setupTestDB.js └── yarn.lock /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/.dockerignore -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/.editorconfig -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/.env.example -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | bin 3 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/.gitattributes -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/.gitignore -------------------------------------------------------------------------------- /.husky/post-checkout: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn install 5 | -------------------------------------------------------------------------------- /.husky/post-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | git status 5 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn lint-staged 5 | -------------------------------------------------------------------------------- /.lintstagedrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "*.js": "eslint" 3 | } 4 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | 4 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/.prettierrc.json -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/.travis.yml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/README.md -------------------------------------------------------------------------------- /bin/createNodejsApp.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/bin/createNodejsApp.js -------------------------------------------------------------------------------- /docker-compose.dev.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/docker-compose.dev.yml -------------------------------------------------------------------------------- /docker-compose.prod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/docker-compose.prod.yml -------------------------------------------------------------------------------- /docker-compose.test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/docker-compose.test.yml -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /ecosystem.config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/ecosystem.config.json -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/jest.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/package.json -------------------------------------------------------------------------------- /src/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/app.js -------------------------------------------------------------------------------- /src/config/config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/config/config.js -------------------------------------------------------------------------------- /src/config/logger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/config/logger.js -------------------------------------------------------------------------------- /src/config/morgan.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/config/morgan.js -------------------------------------------------------------------------------- /src/config/passport.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/config/passport.js -------------------------------------------------------------------------------- /src/config/roles.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/config/roles.js -------------------------------------------------------------------------------- /src/config/tokens.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/config/tokens.js -------------------------------------------------------------------------------- /src/controllers/auth.controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/controllers/auth.controller.js -------------------------------------------------------------------------------- /src/controllers/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/controllers/index.js -------------------------------------------------------------------------------- /src/controllers/user.controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/controllers/user.controller.js -------------------------------------------------------------------------------- /src/docs/components.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/docs/components.yml -------------------------------------------------------------------------------- /src/docs/swaggerDef.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/docs/swaggerDef.js -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/index.js -------------------------------------------------------------------------------- /src/middlewares/auth.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/middlewares/auth.js -------------------------------------------------------------------------------- /src/middlewares/error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/middlewares/error.js -------------------------------------------------------------------------------- /src/middlewares/rateLimiter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/middlewares/rateLimiter.js -------------------------------------------------------------------------------- /src/middlewares/validate.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/middlewares/validate.js -------------------------------------------------------------------------------- /src/models/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/models/index.js -------------------------------------------------------------------------------- /src/models/plugins/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/models/plugins/index.js -------------------------------------------------------------------------------- /src/models/plugins/paginate.plugin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/models/plugins/paginate.plugin.js -------------------------------------------------------------------------------- /src/models/plugins/toJSON.plugin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/models/plugins/toJSON.plugin.js -------------------------------------------------------------------------------- /src/models/token.model.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/models/token.model.js -------------------------------------------------------------------------------- /src/models/user.model.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/models/user.model.js -------------------------------------------------------------------------------- /src/routes/v1/auth.route.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/routes/v1/auth.route.js -------------------------------------------------------------------------------- /src/routes/v1/docs.route.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/routes/v1/docs.route.js -------------------------------------------------------------------------------- /src/routes/v1/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/routes/v1/index.js -------------------------------------------------------------------------------- /src/routes/v1/user.route.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/routes/v1/user.route.js -------------------------------------------------------------------------------- /src/services/auth.service.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/services/auth.service.js -------------------------------------------------------------------------------- /src/services/email.service.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/services/email.service.js -------------------------------------------------------------------------------- /src/services/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/services/index.js -------------------------------------------------------------------------------- /src/services/token.service.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/services/token.service.js -------------------------------------------------------------------------------- /src/services/user.service.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/services/user.service.js -------------------------------------------------------------------------------- /src/utils/ApiError.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/utils/ApiError.js -------------------------------------------------------------------------------- /src/utils/catchAsync.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/utils/catchAsync.js -------------------------------------------------------------------------------- /src/utils/pick.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/utils/pick.js -------------------------------------------------------------------------------- /src/validations/auth.validation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/validations/auth.validation.js -------------------------------------------------------------------------------- /src/validations/custom.validation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/validations/custom.validation.js -------------------------------------------------------------------------------- /src/validations/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/validations/index.js -------------------------------------------------------------------------------- /src/validations/user.validation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/src/validations/user.validation.js -------------------------------------------------------------------------------- /tests/fixtures/token.fixture.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/tests/fixtures/token.fixture.js -------------------------------------------------------------------------------- /tests/fixtures/user.fixture.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/tests/fixtures/user.fixture.js -------------------------------------------------------------------------------- /tests/integration/auth.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/tests/integration/auth.test.js -------------------------------------------------------------------------------- /tests/integration/docs.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/tests/integration/docs.test.js -------------------------------------------------------------------------------- /tests/integration/user.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/tests/integration/user.test.js -------------------------------------------------------------------------------- /tests/unit/middlewares/error.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/tests/unit/middlewares/error.test.js -------------------------------------------------------------------------------- /tests/unit/models/plugins/paginate.plugin.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/tests/unit/models/plugins/paginate.plugin.test.js -------------------------------------------------------------------------------- /tests/unit/models/plugins/toJSON.plugin.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/tests/unit/models/plugins/toJSON.plugin.test.js -------------------------------------------------------------------------------- /tests/unit/models/user.model.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/tests/unit/models/user.model.test.js -------------------------------------------------------------------------------- /tests/utils/setupTestDB.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/tests/utils/setupTestDB.js -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hagopj13/node-express-boilerplate/HEAD/yarn.lock --------------------------------------------------------------------------------