Sina Fateh

ENGINEERING NOTE / 06

A modular ASP.NET Core platform

Arista Exchange grew beyond a static page. Its application now separates domain rules, use cases, persistence, web delivery, and background processing.

In this note 03 questions
01

Why a modular monolith?

Modules can keep their responsibilities clear while sharing one deployable application. It avoids distributing a small team's workflow across services before the product needs that complexity.

02

Where do domain rules belong?

Rules for identity, verification, and transfer state should remain separate from controllers and database details. Web requests call application services; infrastructure supplies persistence and external integrations.

03

Why use a background worker?

The outbox records work with the business transaction. A worker can then deliver optional notifications with retries without making a user-facing request depend on the notification provider.

IN PRACTICE

Related projects

CONTINUE READING

More notes

← Back to portfolio