[DDD] Tactical Design Patterns Part 3: Presentation/Infrastructure Layer

This page summarizes the projects mentioned and recommended in the original post on dev.to

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
  • ddd-onion-lit

  • class-validator

    Decorator-based property validation for classes.

  • This is the request body when creating a new task. The IsString decorator provided by class-validator rejects all types other than strings, including undefined or null. The task name value object does not consider the possibility of values other than strings.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • TypeORM

    ORM for TypeScript and JavaScript. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, SAP Hana, WebSQL databases. Works in NodeJS, Browser, Ionic, Cordova and Electron platforms.

  • We decided to use MySQL for a database. and TypeOrm for ORM. The ER diagram is provided below. For example, the task_assignments table holds information about user assignments to tasks. While in DDD, there is a pattern to design denormalized tables that reflect the structure of domain objects more directly, but this time, a more conventional table design was chosen. TypeOrm models:

  • uuid

    Generate RFC-compliant UUIDs in JavaScript

  • It has been decided to use uuid Version 4 for all of them. Noteworthy is the CommentId, which serves as the identifier for entities within the boundary, meaning local identifiers. For this case, there is no necessity to use uuid. Evans used positions such as front-left, rear-left, front- right, and rear-right to identify the wheels of a car. However, unlike wheels, no straightforward, real-world, understandable means of identification for CommentId came to my mind, so the uuid framework was adopted as a convenient and easy generation method.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Node Backend Server - Youtube GIF Maker Using Next.js, Node and RabbitMQ

    5 projects | dev.to | 14 Feb 2021
  • PHP: Laravel, Ruby: Rails, JavaScript:?

    4 projects | dev.to | 28 May 2024
  • Stories Behind ZenStack V2!

    3 projects | dev.to | 29 Apr 2024
  • Popular Libraries For Building Type-safe Web Application APIs

    6 projects | dev.to | 7 Apr 2024
  • End-To-End Polymorphism: From Database to UI, Achieving SOLID Design

    2 projects | dev.to | 28 Mar 2024