Skip to content

This TypeScript boilerplate is a foundation for creating multi-tenant SaaS applications. It employs REST API and GraphQL for versatile data interaction, and uses hexagonal architecture for modular design. The project follows Domain-Driven Design principles and treats errors as first-class citizens, ensuring a resilient and fault-tolerant backend

Notifications You must be signed in to change notification settings

tomsebastiantom/DomainDrivenRESTAPIBoilerplate

Repository files navigation

Project Name: TypeScript SaaS Backend Boilerplate (DDD)

Table of Contents

Introduction

This TypeScript boilerplate is a foundation for creating multi-tenant SaaS applications. It employs REST API and GraphQL for versatile data interaction, and uses hexagonal architecture for modular design. The project follows Domain-Driven Design principles and treats errors as first-class citizens, ensuring a resilient and fault-tolerant backend system.

Architecture

  • Hexagonal Architecture for decoupling and increased modularity
  • Domain-Driven Design to encapsulate complex business logic
  • Errors as First-Class Citizens for robust error handling

Features

  • Multi-tenant SaaS Architecture
  • RESTful API and GraphQL
  • Domain-Driven Entities
  • Redis Caching
  • Advanced Error Handling

Technologies

  • TypeScript
  • Node.js
  • GraphQL
  • REST API
  • Redis
  • Domain-Driven Design (DDD)
  • Repository Pattern

Getting Started

Prerequisites

  • Node.js (>= 14.x)
  • npm (>= 6.x)
  • Redis server

Installation

  1. Clone the repository:

    git clone https://github.com/your_username_/your_project_name.git
  2. Install the dependencies:

    npm install
  3. Run the development server:

    npm run dev

Usage

Please refer to the detailed documentation for usage instructions and examples.

Contributing

For guidelines on contributing to this project, please refer to CONTRIBUTING.md.

License

This project is licensed under the MIT License.

Acknowledgements

  • Open-source libraries
  • Community contributions

About

This TypeScript boilerplate is a foundation for creating multi-tenant SaaS applications. It employs REST API and GraphQL for versatile data interaction, and uses hexagonal architecture for modular design. The project follows Domain-Driven Design principles and treats errors as first-class citizens, ensuring a resilient and fault-tolerant backend

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages