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 …