Skip to content
Multi tenant SaaS starter kit with cqrs graphql microservice architecture, apollo federation, event source and authentication
TypeScript Dockerfile HCL
Branch: master
Clone or download
Latest commit 5b783be Nov 15, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci added circle CI for code coverage Oct 25, 2019
apps Improved event store Nov 15, 2019
config Improved event store Nov 15, 2019
docker
graphs removed generated graphs from root Nov 14, 2019
iac added IaC with terraform Nov 8, 2019
kubernetes added IaC with terraform Nov 8, 2019
libs
.env WiP: improving structure Nov 8, 2019
.env-example Migrated to code first graphql Nov 14, 2019
.gitignore Migrated to code first graphql Nov 14, 2019
.prettierrc wip: session authentication Oct 16, 2019
.snyk added snyk Oct 22, 2019
LICENSE (WiP): fixing multi tenancy Oct 22, 2019
README.md WiP: improving structure Nov 8, 2019
nest-cli.json
package.json Improved event store Nov 15, 2019
tsconfig.build.json wip: session authentication Oct 16, 2019
tsconfig.json WiP tenant service Oct 31, 2019
tslint.json wip: session authentication Oct 16, 2019
yarn.lock Improved event store Nov 15, 2019

README.md

ULTIMATE BACKEND

(WIP): This is an enterprise scale advanced microservice pattern with GraphQL, based on Domain (DDD) using the command query responsibility segregation (CQRS) design pattern.

License Snyk Code Size Version Top Language Top Language

Description

This should be the go to backend base for your next scalable project. This is a proof of concept project designed to be extremely slim and scalable, with distributed data request and process handling, built from the ground up for production use. It comes with Multi-Tenancy SaaS support, following different multi-tenancy database strategy as well as different resolver patterns to identify your tenants. The goal is to give your next big project that extra leap to awesomeness.

Features

Software features

  • CQRS
  • Software as a Service
  • Authentication by stateful session
  • User
  • Event Sourcing
  • Federated GraphQL Microservice
  • Emailing Queue
  • Role Based Access Control (WiP)
  • Multi Tenancy (WiP)
  • Security
  • Reactive health check for federated service and rebuilding gateway schema
  • React Website

Requirements

Store and Cache Stack and frameworks Deployment
Event Store (Event Source Store) NestJS (Server Framework) Docker
HazelCast (cache) NodeJS (System runtime) Kubernetes
MongoDB (Database) Typescript Azure Pipeline
Apollo Server
Express JS
Apollo Gateway
Fastify

Installation

$ yarn

Running the admin gateway microservice

# development for admin gateway
$ yarn run start gateway-admin

# watch mode for admin gateway
$ yarn run start:dev gateway-admin

# production mode for admin gateway
$ yarn run start:prod

# Start with different evironment
$ NODE_ENV=staging npx nest start service-user

Test

# unit tests
$ yarn run test

# e2e tests
$ yarn run test:e2e

# test coverage
$ yarn run test:cov

System

The Problem

System Architecture & Design

System Benefits

License

This project is MIT licensed.

You can’t perform that action at this time.