This repo is direct copied and improvised from this repo. A big applause for the author morshedmasud ๐๐๐
-
Node
-
Express JS
-
Typescript
-
MongoDB
-
User SignIn/SignUp
-
Basic Authentication with jwt-http
-
OAuth 2.0 (Authentication with Access & Refresh Token)
-
Data Validation with JOI
-
Unit Testing
-
Email Verification
-
Docker Configuration
-
Swagger Documentation
.
โโโ .env.example
โโโ .eslintrc.json
โโโ .git
โ โโโ FETCH_HEAD
โ โโโ HEAD
โ โโโ config
โ โโโ description
โ โโโ hooks
โ โ โโโ applypatch-msg.sample
โ โ โโโ commit-msg.sample
โ โ โโโ fsmonitor-watchman.sample
โ โ โโโ post-update.sample
โ โ โโโ pre-applypatch.sample
โ โ โโโ pre-commit.sample
โ โ โโโ pre-merge-commit.sample
โ โ โโโ pre-push.sample
โ โ โโโ pre-rebase.sample
โ โ โโโ pre-receive.sample
โ โ โโโ prepare-commit-msg.sample
โ โ โโโ push-to-checkout.sample
โ โ โโโ update.sample
โ โโโ index
โ โโโ info
โ โ โโโ exclude
โ โโโ logs
โ โ โโโ HEAD
โ โ โโโ refs
โ โโโ objects
โ โ โโโ info
โ โ โโโ pack
โ โโโ packed-refs
โ โโโ refs
โ โโโ heads
โ โโโ remotes
โ โโโ tags
โโโ .gitignore
โโโ Dockerfile
โโโ README.md
โโโ custom.d.ts
โโโ docker-compose.yml
โโโ jest.config.js
โโโ package.json
โโโ src
โ โโโ app.ts
โ โโโ config
โ โ โโโ cors.ts
โ โ โโโ express-rate.ts
โ โ โโโ express-slow-down.ts
โ โ โโโ logger.ts
โ โ โโโ mongoose.ts
โ โ โโโ morgan.ts
โ โ โโโ passport-http.ts
โ โ โโโ passport-jwt.ts
โ โ โโโ server.ts
โ โโโ controllers
โ โ โโโ auth.controller.ts
โ โ โโโ user.controller.ts
โ โโโ middleware
โ โ โโโ auth.ts
โ โโโ models
โ โ โโโ user.model.ts
โ โโโ routes
โ โ โโโ auth.route.ts
โ โ โโโ user.route.ts
โ โโโ services
โ โ โโโ __tests__
โ โ โโโ user.service.ts
โ โโโ utils
โ โ โโโ ApiError.ts
โ โ โโโ catchAsync.ts
โ โ โโโ constants.ts
โ โ โโโ email.ts
โ โ โโโ response.ts
โ โ โโโ tokens.ts
โ โ โโโ validationError.ts
โ โโโ validations
โ โโโ auth.validation.ts
โโโ swagger.json
โโโ tsconfig.json
โโโ yarn.lock
- Clone project ๐ฑ๏ธ
git clone git@github.com:morshedmasud/express-mongoDB-typescript-restAPI-starter.git
- Go to project root path and install all dependency with ๐ป
yarn install
- Don't forget to create .env file as like .env.example and put necessary values like DB Info, Email Info ๐ชต
cp .env.example .env
-
Start your mongodb service ๐พ
-
Run the project ๐
// development server
yarn run dev
// build project
yarn build
// production server
yarn run start
- Run With Docker ๐ฅ๏ธ
// build
sudo docker-compose build
// run
sudo docker-compose up
- Testing ๐งช
// run all unit-test
yarn run test:unit
// run individual unit-test file
yarn run test:unit src/services/__tests__/auth.ts