Search

Lessons (21)

  • Vertical Slice Architecture & the Modular Monolith

    Organise code by feature instead of by technical layer, and split a monolith into well-bounded modules that …

  • Choosing an Architecture

    … For example: a modular monolith (1), with Hexagonal modules (2), cut along DDD bounded contexts (3), talking via …

  • Monolith vs Microservices

    … one deployable"] direction LR U[Users module] --- O[Orders module] --- P[Payments module] --- I[Inventory module] DB1[(One …

  • What Is Software Architecture?

    … a modular monolith , split along DDD bounded contexts , where each module uses Hexagonal/Clean architecture inside, and modules …

  • S — Single Responsibility Principle

    A class or module should have only one reason to change. Learn to find the hidden responsibilities in …

  • What Are Design Patterns?

    … JavaScript's first-class functions , closures and modules make several of them much simpler: - Strategy → just pass a …

  • Event-Driven Architecture

    … Inside a modular monolith , modules can communicate with in-process domain events , keeping modules decoupled without any broker …

  • D — Dependency Inversion Principle

    … Details should depend on abstractions. - High-level module: your business logic ( OrderService ). This is what makes money. - Low …

  • Creational Patterns: How to Make Objects

    … a database pool, a config object, a logger. js // db.js — ES modules are evaluated ONCE and cached …

  • SOLID at a Glance

    Five design principles that keep object-oriented and modular code easy to extend, test and change. One picture …

  • Microkernel (Plugin) Architecture

    … a minimal core system plus independent plug-in modules that extend it. ![Microkernel: a small core with plug …

  • Domain-Driven Design: Strategic Design

    … Ordering, Billing, Fulfilment). Strategic design → architecture mermaid flowchart LR ES["🗒️ Event storming"] -- BC["Bounded contexts"] -- MOD["Modules …

  • How Browsers Render a Page

    … Independent scripts (analytics) type="module" In parallel Deferred by default ✅ Modern ES modules html <script src="/app.js …

  • TypeScript Essentials

    … true, // arr[i] might be undefined "target": "ES2022", "module": "ESNext", "moduleResolution": "bundler" } } Always use "strict": true in new …

  • Serverless Architecture

    … your business logic portable. Put it in plain modules (Hexagonal style) and keep the Lambda handler as a …

  • DRY: Don't Repeat Yourself

    … Config values copied between files One .env / config module The same SQL in many places A repository function …

  • KISS: Keep It Simple, Stupid

    … with the simplest architecture that works, like a modular monolith and one database. Add microservices, queues and caches …

  • Meaningful Names

    … Function scope"] -- clear name m1["total, retries"] L["Module / global scope"] -- very descriptive l1["MAX UPLOAD SIZE MB …

  • Backend Languages: Node.js, Go, Python & Rust

    … NestJS (structured, TypeScript-first) NestJS adds modules, dependency injection and decorators on top of Express/Fastify, similar to …

  • Docker & Containers

    … Add a .dockerignore so junk doesn't end up in the image: text node modules .git .env dist …

  • Frontend Testing Strategy

    … roles, labels and visible text. - Mock the network (MSW), not your own modules. - Keep E2E tests (Playwright) for …