Skip to content

tsnevillecom/mern-multitenancy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MERN multitenancy

features

  • multi-layered architecture: app > router > controller > service
  • back-end uses TypeScript
  • tenant resolved by subdomain
  • MongoDB, collection per tenant (e.g. postfix _t1 for tenant 1, subdomain1)
  • JWT authentication
  • CORS, whitelist of domains
  • hashing password with salt & pepper
  • usedId and tenantId is bound to Request object
  • front-end is based on React, uses JavaScript
    • basic login / sign up functionality
    • demo functionality
    • redirects to login page after session expires
    • Redux store keeps user data
      • holds user and tenant data after login
      • redirects to homepage when user is provided
      • redirects to login when user is not found

guide

add to hosts:

127.0.0.1       mtexpress
127.0.0.1       subdomain1.mtexpress
127.0.0.1       subdomain2.mtexpress

run back-end and front-end apps using npm start or yarn start

front-end

http://subdomain1.mtexpress:4000
http://subdomain2.mtexpress:4000

records that you create are only available for current tenant (subdomain)

About

multi-tenant MERN architecture

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 73.4%
  • TypeScript 15.8%
  • CSS 9.4%
  • HTML 1.4%