Overview

A compilation of material on system design, software architecture, design patterns, and technical solutions. The notes move from fundamentals through architecture, detailed technical solutions, retry and circuit breaker, reference code, and attachments.

Fundamentals cover basic principles, trade-offs, and 8 common problems and solutions in system design. Software architecture covers Clean Architecture, Hexagonal, Microservices, EDA, DDD, CQRS, SOLID, AOP, Command Bus, and Event Loop. Detailed technical solutions cover JWT, caching, background jobs, notifications, e-commerce, TinyURL, rate limiting, migration, and web crawling.

Contents

# Topic Description
1 System Design Fundamentals Basic principles, trade-offs, 8 common problems and solutions in system design
2 Software Architecture Clean Architecture, Hexagonal, Microservices, EDA, DDD, CQRS, SOLID, AOP, Command Bus, Event Loop
3 Detailed Technical Solutions JWT, caching, background jobs, notifications, e-commerce, TinyURL, rate limiting, migration, web crawling
4 Retry And Circuit Breaker Retrying without causing outages, Circuit Breaker Pattern, Distributed Transactions, SAGA, Outbox Pattern
5 Reference Code Reference code examples for system design and architecture
6 Attachments PDF documents, notes, and related illustrations

The retry note covers retrying without causing outages, the Circuit Breaker Pattern, Distributed Transactions, SAGA, and the Outbox Pattern. Reference code holds examples for system design and architecture. Attachments hold PDF documents, notes, and related illustrations. The six linked notes are System Design Fundamentals, Software Architecture, Detailed Technical Solutions, Retry And Circuit Breaker, Reference Code, and Attachments. Each row pairs a topic link with a description of what that note holds.

See also: Fundamentals · Software Architecture · Technical Solutions