node-express-boilerplate-multitenant

Postponed as personal reason

Contributors Forks Stargazers MIT License

Table of Contents
  1. About The Project
  2. Getting Started
  3. License

Description

TBD

Requirement

  • Docker

Features

  • Typescript / ES6
  • Express + Postgres
  • Docker
  • Tests with Jest
  • Git hooks with husky
  • Authentication And Authorization with passport(jwt)
  • Jenkins CI/CD

Getting Started

# Running locally
docker compose -f ci/docker/composes/docker-compose.local.yml --env-file .env.local up -d
# Running test
docker compose -f ci/docker/composes/docker-compose.test.yml --env-file .env.test up -d
# dev logs
docker logs my-app-local-app --follow
# test logs
docker logs my-app-test-app --follow

Project Structure

my-app
└──.husky // git hooks
└──.vscode // IDE Config
└──ci // ci
|    └──docker
|    |    └──composes
|    |    └──dockerfiles
|    └──jenkins // TBD
└──data // Docker Database Volume
|    └──postgres
└──database
|    └──postgres.d
└──logs // logs
|    └──error // error logging
|    └──info // info logging
|    └──warn // warn logging
└──node_modules
|    └──...
└──resources // store static resources
|    └──temp
|    └──uploads
└──src // source code
|    └──configs // all the configs needed for the application
|    └──constants // all the constants needed for the application
|    └──controllers // all the controllers needed for the application
|    └──dtos // all the validator for the application
|    └──middlewares // any middleware needed for the application
|    └──models // data models required for the application
|    |    └──hooks // sequelize hooks
|    |    └──app // app schema
|    |    └──tenant // tenant schema
|    └──routes // single file for each logical set of routes
|    |    └──v1 // version 1
|    └──scheduler // all the schedulers
|    └──services // all the business logic
|    └──utils // all the utilities and helpers needed for the application
└──tests
|    └──e2e
|    └──unit

License

MIT License

Copyright (c) 2023 PIYoung