- Fastify framework
fluent-schema
for payload validation- Mongoose for db modelling
- JWT for Authentication
- CORS Support
- ETag Support
- Auto deploy to AWS-EC2 via GitLab docs
- Auto deploy to AWS-EC2 via GitHub Actions docs
- Node.js: v16
- Install yarn package manager for node https://yarnpkg.com/lang/en/docs/install/#debian-stable
- PM2, process monitor for node, install using
yarn global add pm2
- Run
git clone git@github.com:lightrainstech/api-boilerplate.git
- Run
cd api-boilerplate
- Run
nvm use
- Run
yarn
cp env.sample .env
, and modify as required
- You can use
pm2 start ./src/server.js
- Run
yarn run dev
Swagger is available at http://HOST:PORT/docs
.
├── .github
│ └── workflows
│ └── deploy-master.yml
├── .gitignore
├── .gitlab-ci.yml
├── .nvmrc
├── LICENSE
├── README.md
├── deploy
│ ├── deploy.sh
│ ├── disableHostKeyChecking.sh
│ └── updateAndRestart.sh
├── env.sample
├── package.json
├── pm2.json
├── src
│ ├── app.js
│ ├── config
│ │ └── swagger.js
│ ├── models
│ │ └── userModel.js
│ ├── plugins
│ │ ├── README.md
│ │ ├── authJwt.js
│ │ ├── mongo.js
│ │ └── responseApi.js
│ ├── schema
│ │ └── userSchema.js
│ ├── server.js
│ ├── services
│ │ └── auth.js
│ └── utils
│ ├── generatorResponse.js
│ └── index.js
└── yarn.lock