# Software Architecture Resources
> Architecture patterns, design principles, and system design for Node.js/TypeScript applications
** Purpose:** Architecture resources for AI agents building Node.js/TypeScript applications
**π Focus:** Clean Architecture, DDD, CQRS, Microservices - TypeScript patterns
**βοΈ Runtime:** Node.js-based systems with TypeScript design patterns
**π
Updated:** October 13, 2025
---
## Quick Reference
### System Design (Start Here)
- **Essential Learning:** `karanpratapsingh/system-design` (38K+ β) - THE comprehensive guide
- **Scalability Patterns:** `binhnguyennus/awesome-scalability` (66K+ β) - Real-world patterns
- **Free Resources:** `ashishps1/awesome-system-design-resources` - Curated collection
### Clean Architecture (TypeScript)
- **Best DDD Example:** `Sairyss/domain-driven-hexagon` (14K+ β) - Hexagonal + DDD
- **Production API:** `rmanguinho/clean-ts-api` (1.9K+ β) - Clean Architecture + TDD
- **React Example:** `rmanguinho/clean-react` (1.5K+ β) - Clean Architecture in React
### Design Patterns
- **TypeScript Patterns:** `kamranahmedse/design-patterns-for-humans` (47K+ β) - Ultra-simplified
- **Gang of Four:** Classic design patterns in TypeScript
- **Enterprise Patterns:** `ardalis/CleanArchitecture` (16K+ β) - .NET but concepts apply
### Decision Guide
| Need | Choose | Why |
|------|--------|-----|
| Learning System Design | karanpratapsingh/system-design | Most comprehensive |
| Clean Architecture | Sairyss/domain-driven-hexagon | Best TypeScript example |
| Scalability | binhnguyennus/awesome-scalability | Real-world patterns |
| Design Patterns | kamranahmedse/design-patterns | Ultra-simplified |
| Production Backend | rmanguinho/clean-ts-api | TDD + Clean Architecture |
---
## System Design & Scalability
### Essential System Design Resources
**β karanpratapsingh/system-design** (38,213 stars) β‘ #1 ESSENTIAL
- Learn how to design systems at scale and prepare for system design interviews
- π https://github.com/karanpratapsingh/system-design
- **Use Case:** THE comprehensive system design learning resource
- **Why Essential:** Covers distributed systems, databases, caches, load balancers, messaging, microservices, sharding, replication, and consistency
**β binhnguyennus/awesome-scalability** (66,010 stars) β‘ HIGHLY RECOMMENDED
- The Patterns of Scalable, Reliable, and Performant Large-Scale Systems
- π https://github.com/binhnguyennus/awesome-scalability
- **Use Case:** System scalability patterns and case studies from real-world production systems
- **Why Essential:** Real-world patterns from companies like Netflix, Uber, and Airbnb
**β ashishps1/awesome-system-design-resources**
- Learn System Design concepts and prepare for interviews using free resources
- π https://github.com/ashishps1/awesome-system-design-resources
- **Use Case:** Curated collection of free system design learning resources
- **2025 Update:** Includes latest interview patterns for FAANG companies
### Interview Preparation
**β shashank88/system_design** (9,118 stars)
- Preparation links and resources for system design questions
- π https://github.com/shashank88/system_design
- **Use Case:** System design interview preparation with practice problems
**β Jeevan-kumar-Raj/Grokking-System-Design** (6,162 stars)
- Systems design process for defining architecture, modules, interfaces, and data
- π https://github.com/Jeevan-kumar-Raj/Grokking-System-Design
- **Use Case:** System design fundamentals with step-by-step approach
### Additional Resources
**Recommended Books (2025):**
- "System Design Interview β An insider's guide" by Alex Xu (ByteByteGo)
- "Designing Data-Intensive Applications" by Martin Kleppmann
**Top Courses:**
- Grokking the System Design Interview (Educative) - Built by FAANG engineers
- ByteByteGo - System design course by Alex Xu
**YouTube Channels:**
- Gaurav Sen - System Design Playlist
- System Design Fight Club (SDFC) - Live problem-solving sessions
- Exponent - Short comprehensive solutions
---
## Clean Architecture
### TypeScript Implementations (2025 Focus)
**β Sairyss/domain-driven-hexagon** (13,948 stars) β‘ TOP TYPESCRIPT CHOICE
- Learn Domain-Driven Design, software architecture, design patterns, best practices. Code examples included
- π https://github.com/Sairyss/domain-driven-hexagon
- **Use Case:** DDD + Hexagonal Architecture with comprehensive TypeScript examples
- **2025 Best Practice:** Type-driven development with strong domain boundaries
- **Key Features:** Entity design, use cases, dependency injection, event sourcing
**β rmanguinho/clean-ts-api** (1,910 stars)
- API em NodeJs usando Typescript, TDD, Clean Architecture, Design Patterns e SOLID principles
- π https://github.com/rmanguinho/clean-ts-api
- **Use Case:** Production-ready Node.js + TypeScript API with Clean Architecture
- **2025 Focus:** Framework-independent business logic, testable architecture
**β rmanguinho/clean-react** (1,470 stars)
- Sistema em ReactJs usando Hooks, Typescript, TDD, Clean Architecture, Design Patterns e SOLID principles
- π https://github.com/rmanguinho/clean-react
- **Use Case:** React with SOLID principles and Clean Architecture
- **2025 Pattern:** Separation of UI from business logic
### Multi-Language Implementations
**β jasontaylordev/CleanArchitecture** (19,052 stars)
- Clean Architecture Solution Template for ASP.NET Core
- π https://github.com/jasontaylordev/CleanArchitecture
- **Use Case:** Reference implementation of Clean Architecture principles (.NET)
**β ardalis/CleanArchitecture** (17,563 stars)
- Clean Architecture Solution Template: A proven template for ASP.NET Core 9
- π https://github.com/ardalis/CleanArchitecture
- **Use Case:** Production-grade Clean Architecture template (.NET)
**β alibaba/COLA** (12,678 stars)
- π₯€ COLA: Clean Object-oriented & Layered Architecture
- π https://github.com/alibaba/COLA
- **Use Case:** Alibaba's Clean Architecture framework (Java)
**β bxcodec/go-clean-arch** (9,826 stars)
- Go (Golang) Clean Architecture based on Uncle Bob's Clean Architecture
- π https://github.com/bxcodec/go-clean-arch
- **Use Case:** Clean Architecture in Go/Golang
**β qiangxue/go-rest-api** (1,637 stars)
- An idiomatic Go REST API starter kit (boilerplate) following SOLID principles and Clean Architecture
- π https://github.com/qiangxue/go-rest-api
- **Use Case:** Go REST API with SOLID principles
**β rafaelfgx/Architecture** (3,249 stars)
- .NET, Angular, Clean Architecture, Clean Code, SOLID Principles, KISS Principle, DRY Principle
- π https://github.com/rafaelfgx/Architecture
- **Use Case:** Multi-principle architecture examples
### 2025 Clean Architecture Best Practices
**Core Principles:**
- **Separation of Concerns:** Business logic isolated from frameworks and UI
- **Dependency Rule:** Dependencies point inward toward business logic
- **Framework Independence:** Core business logic doesn't depend on external libraries
- **Testability:** Business rules can be tested without UI, database, or external services
**TypeScript-Specific:**
- Type-driven development enforcing business rules at compile time
- Composition over inheritance for flexible architectures
- Interface-based dependency injection
- Strong typing for domain entities and value objects
---
## Design Patterns
**β iluwatar/java-design-patterns** (93,072 stars) β‘ ESSENTIAL
- Design patterns implemented in Java
- π https://github.com/iluwatar/java-design-patterns
- **Use Case:** THE most comprehensive design patterns reference
- **Coverage:** 200+ design patterns with clear examples
- **Categories:** Creational, Structural, Behavioral, Concurrency, Cloud
**β kamranahmedse/design-patterns-for-humans** (46,956 stars)
- An ultra-simplified explanation to design patterns
- π https://github.com/kamranahmedse/design-patterns-for-humans
- **Use Case:** Learn design patterns in simple terms
- **Best For:** Beginners and quick reference
**β DovAmir/awesome-design-patterns** (44,388 stars)
- A curated list of software and architecture related design patterns
- π https://github.com/DovAmir/awesome-design-patterns
- **Use Case:** Comprehensive design patterns collection across languages
**β faif/python-patterns** (42,258 stars)
- A collection of design patterns/idioms in Python
- π https://github.com/faif/python-patterns
- **Use Case:** Design patterns in Python
**β chuanxshi/javascript-patterns** (9,389 stars)
- JavaScript Design Patterns
- π https://github.com/chuanxshi/javascript-patterns
- **Use Case:** Design patterns specifically for JavaScript
### TypeScript Design Patterns (2025)
**Popular Resources:**
- Refactoring.Guru Design Patterns in TypeScript
- Fireship.io - 10 Design Patterns in TypeScript Tutorial
**Key Patterns for 2025:**
1. **Singleton Pattern:** Global object access with type safety
2. **Factory Pattern:** Type-safe object creation
3. **Observer Pattern:** Reactive type patterns for event-driven architecture
4. **Decorator Pattern:** Extending functionality with TypeScript decorators
5. **Strategy Pattern:** Type-safe algorithm selection
6. **Repository Pattern:** Data access abstraction with strong typing
---
## Microservices Architecture
### Essential Microservices Resources
**β mfornos/awesome-microservices** (13,906 stars) β‘ RECOMMENDED
- A curated list of Microservice Architecture related principles and technologies
- π https://github.com/mfornos/awesome-microservices
- **Use Case:** Comprehensive microservices resources and patterns
- **2025 Update:** AI-powered monitoring and serverless microservices
### Production Frameworks
**β go-kratos/kratos** (24,981 stars)
- Your ultimate Go microservices framework for the cloud-native era
- π https://github.com/go-kratos/kratos
- **Use Case:** Production-ready Go microservices framework
- **Features:** gRPC, service discovery, circuit breaker, tracing
**β jhipster/generator-jhipster** (22,208 stars)
- JHipster is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures
- π https://github.com/jhipster/generator-jhipster
- **Use Case:** Full-stack microservices generator with best practices
### Example Implementations
**β sqshq/piggymetrics** (13,737 stars)
- Microservice Architecture with Spring Boot, Spring Cloud and Docker
- π https://github.com/sqshq/piggymetrics
- **Use Case:** Complete microservices example with Spring ecosystem
**β meysamhadeli/booking-microservices** (1,250 stars)
- A practical microservices with latest technologies and architectures like Vertical Slice Architecture, Event Sourcing, CQRS, DDD, gRPC, MongoDB
- π https://github.com/meysamhadeli/booking-microservices
- **Use Case:** Modern microservices patterns implementation
- **2025 Patterns:** Vertical Slice Architecture, Event Sourcing, CQRS
**β neuland/micro-frontends** (4,648 stars)
- Extending the microservice paradigms to web development
- π https://github.com/neuland/micro-frontends
- **Use Case:** Micro-frontends architecture patterns
### Top 5 Microservices Design Patterns (2025)
**1. API Gateway Pattern**
- Single entry point for all client requests
- Handles authentication, rate limiting, load balancing
- Routes requests to appropriate microservices
- **2025 Focus:** AI-powered intelligent routing and optimization
**2. Database per Service Pattern**
- Each microservice owns its database
- Ensures loose coupling and independent scaling
- Prevents single point of failure
- **Best Practice:** Use event sourcing for data consistency
**3. Service Discovery Pattern**
- Dynamic service registration and discovery
- No manual configuration required
- Enables elastic scaling
- **Popular Tools:** Consul, Eureka, etcd
**4. CQRS (Command Query Responsibility Segregation)**
- Separates read and write operations
- Optimizes for different query patterns
- Improves scalability and performance
- **2025 Trend:** Combined with event sourcing for audit trails
**5. Event Sourcing Pattern**
- Stores state changes as sequence of events
- Enables time travel and audit logging
- Supports event-driven architectures
- **Use Case:** Financial systems, order processing
### 2025 Microservices Best Practices
**Resilience:**
- Circuit breakers to prevent cascading failures
- Retry policies with exponential backoff
- Chaos engineering for testing failure scenarios
- Bulkhead pattern for resource isolation
**Data Consistency:**
- SAGA pattern for distributed transactions
- Event-driven communication between services
- Eventual consistency over strong consistency
- Compensating transactions for rollbacks
**Emerging Trends:**
- **AI/ML Integration:** Predictive scaling and intelligent monitoring
- **Serverless Microservices:** Cost-efficient, auto-scaling without infrastructure management
- **Domain-Driven Design:** Mapping services to business functions
- **Service Mesh:** Istio, Linkerd for observability and traffic management
---
## TypeScript Best Practices
### Code Quality & Architecture
**β labs42io/clean-code-typescript** (9,611 stars) β‘ ESSENTIAL
- Clean Code concepts adapted for TypeScript
- π https://github.com/labs42io/clean-code-typescript
- **Use Case:** Clean Code principles for TypeScript developers
- **2025 Focus:** Type safety, immutability, functional programming patterns
**β AmanVarshney01/create-better-t-stack** (3,854 stars)
- Modern CLI tool for scaffolding end-to-end type-safe TypeScript projects with best practices
- π https://github.com/AmanVarshney01/create-better-t-stack
- **Use Case:** Scaffold production-ready type-safe TypeScript projects
- **Stack:** Next.js, tRPC, Prisma, Tailwind
**β vuesion/vuesion** (2,876 stars)
- Boilerplate empowering product teams to build faster with modern best practices across engineering and design
- π https://github.com/vuesion/vuesion
- **Use Case:** Full-stack Vue.js + TypeScript boilerplate
**β TheAlgorithms/TypeScript** (2,412 stars)
- Algorithms and Data Structures implemented in TypeScript for beginners, following best practices
- π https://github.com/TheAlgorithms/TypeScript
- **Use Case:** Learn algorithms and data structures with TypeScript
### Advanced TypeScript Patterns (2025)
**Type-Driven Development:**
- Leverage TypeScript's type system to enforce business logic at compile time
- Use discriminated unions for state machines
- Branded types for domain validation
- Template literal types for string manipulation
**Composition Patterns:**
- Composition over inheritance for flexible architectures
- Higher-order functions with proper typing
- Decorator pattern with TypeScript decorators
- Mixin pattern for code reuse
**Advanced Type Patterns:**
- Conditional types for type transformations
- Mapped types for DRY code
- Intersection types for combining behaviors
- Type guards for runtime type safety
- Utility types (Partial, Pick, Omit, Record)
**Reactive Patterns:**
- Type-safe RxJS streams
- Event emitters with strong typing
- Promise-based async patterns
- Type-safe state management (Redux, Zustand)
### 2025 TypeScript Statistics
- **75% adoption** rate among professional developers (Stack Overflow 2025)
- **40% faster onboarding** for new team members
- **60% fewer runtime errors** compared to JavaScript
- Default language for frontend development in 2025
---
## SOLID Principles
### Implementation Examples
**β rmanguinho/clean-ts-api** (1,910 stars) β‘ TYPESCRIPT RECOMMENDED
- API em NodeJs usando Typescript, TDD, Clean Architecture, Design Patterns e SOLID principles
- π https://github.com/rmanguinho/clean-ts-api
- **Use Case:** Node.js + TypeScript API demonstrating all SOLID principles
**β rmanguinho/clean-react** (1,470 stars)
- Sistema em ReactJs usando Hooks, Typescript, TDD, Clean Architecture, Design Patterns e SOLID principles
- π https://github.com/rmanguinho/clean-react
- **Use Case:** React application with SOLID principles
**β ochococo/OOD-Principles-In-Swift** (1,902 stars)
- π The Principles of OOD (SOLID) based on Uncle Bob articles
- π https://github.com/ochococo/OOD-Principles-In-Swift
- **Use Case:** SOLID principles in Swift
**β qiangxue/go-rest-api** (1,637 stars)
- An idiomatic Go REST API starter kit (boilerplate) following SOLID principles and Clean Architecture
- π https://github.com/qiangxue/go-rest-api
- **Use Case:** Go REST API with SOLID principles
**β heykarimoff/solid.python** (682 stars)
- SOLID Principles explained in Python with examples
- π https://github.com/heykarimoff/solid.python
- **Use Case:** SOLID principles in Python
**β bespoyasov/solidbook** (642 stars)
- Book about the SOLID principles and object-oriented software design
- π https://github.com/bespoyasov/solidbook
- **Use Case:** Comprehensive SOLID principles book
### SOLID Principles Quick Reference
**S - Single Responsibility Principle**
- A class should have only one reason to change
- Each module/class should do one thing well
**O - Open/Closed Principle**
- Open for extension, closed for modification
- Use interfaces and abstract classes
**L - Liskov Substitution Principle**
- Subtypes must be substitutable for their base types
- Polymorphism without breaking functionality
**I - Interface Segregation Principle**
- Many specific interfaces are better than one general interface
- Clients shouldn't depend on interfaces they don't use
**D - Dependency Inversion Principle**
- Depend on abstractions, not concretions
- High-level modules shouldn't depend on low-level modules
---
## Architecture Books & Learning Resources
**β charlax/professional-programming** (49,488 stars) β‘ ESSENTIAL
- A collection of learning resources for curious software engineers
- π https://github.com/charlax/professional-programming
- **Use Case:** Comprehensive professional development resources
- **Includes:** Books, articles, courses, and best practices
**β joelparkerhenderson/architecture-decision-record** (14,223 stars)
- Architecture decision record (ADR) examples for software planning
- π https://github.com/joelparkerhenderson/architecture-decision-record
- **Use Case:** ADR templates and best practices for documenting decisions
**β mhadidg/software-architecture-books** (10,411 stars)
- A comprehensive list of books on Software Architecture
- π https://github.com/mhadidg/software-architecture-books
- **Use Case:** Curated architecture book collection
**β toutiaoio/awesome-architecture** (9,605 stars)
- ζΆζεΈζζ―εΎθ°±οΌε©δ½ ζ©ζ₯ζδΈΊζΆζεΈ (Architecture Technology Map)
- π https://github.com/toutiaoio/awesome-architecture
- **Use Case:** Comprehensive architecture learning path
**β android/architecture-samples** (45,332 stars)
- Collection of samples showcasing different architectural tools and patterns for Android apps
- π https://github.com/android/architecture-samples
- **Use Case:** Architecture patterns with real mobile examples
---
## Performance & Optimization
**β davidsonfellipe/awesome-wpo** (8,663 stars)
- π A curated list of Web Performance Optimization. Everyone can contribute here!
- π https://github.com/davidsonfellipe/awesome-wpo
- **Use Case:** Web performance optimization resources
**β sitespeedio/sitespeed.io** (4,931 stars)
- Open-source tool for comprehensive web performance analysis
- π https://github.com/sitespeedio/sitespeed.io
- **Use Case:** Web performance monitoring and analysis
**β GoogleChromeLabs/webpack-libs-optimizations** (3,359 stars)
- Using a library in your webpack project? Here's how to optimize it
- π https://github.com/GoogleChromeLabs/webpack-libs-optimizations
- **Use Case:** Webpack optimization techniques
---
## Quick Reference: Pattern Selection Guide
### When to Use What
**Starting a New Project?**
1. System Design: Start with `karanpratapsingh/system-design` for fundamentals
2. TypeScript: Use `Sairyss/domain-driven-hexagon` for project structure
3. Patterns: Reference `iluwatar/java-design-patterns` for solutions
**Building Microservices?**
1. Start: `mfornos/awesome-microservices` for overview
2. Framework: `go-kratos/kratos` (Go) or `jhipster/generator-jhipster` (Java/Spring)
3. Patterns: API Gateway, Database per Service, CQRS, Event Sourcing
**TypeScript Architecture?**
1. Clean Code: `labs42io/clean-code-typescript`
2. Clean Architecture: `Sairyss/domain-driven-hexagon`
3. API: `rmanguinho/clean-ts-api`
4. Frontend: `rmanguinho/clean-react`
**Preparing for Interviews?**
1. System Design: `karanpratapsingh/system-design`
2. Scalability: `binhnguyennus/awesome-scalability`
3. Courses: Grokking the System Design Interview, ByteByteGo
4. Books: "System Design Interview" by Alex Xu
**Need Design Patterns?**
1. Comprehensive: `iluwatar/java-design-patterns`
2. Beginner-friendly: `kamranahmedse/design-patterns-for-humans`
3. TypeScript: Refactoring.Guru TypeScript patterns
4. Language-specific: Python, JavaScript, Swift collections available
### Top 3 Essential Resources (2025)
**1. karanpratapsingh/system-design** (38,213 stars)
- Why: Most comprehensive system design resource for both learning and interviews
- Covers: Distributed systems, scalability, databases, caching, messaging
- Best for: All levels from beginners to senior engineers
**2. binhnguyennus/awesome-scalability** (66,010 stars)
- Why: Real-world production patterns from top tech companies
- Covers: Case studies from Netflix, Uber, Airbnb, and more
- Best for: Understanding how large-scale systems actually work
**3. iluwatar/java-design-patterns** (93,072 stars)
- Why: Most complete design patterns reference (200+ patterns)
- Covers: All major pattern categories with clear examples
- Best for: Reference and implementation guidance
### Key Architecture Patterns for 2025
**Clean Architecture:**
- Type-driven development with TypeScript
- Framework independence
- Testable business logic
- Domain-Driven Design integration
**Microservices:**
- API Gateway for unified entry point
- CQRS + Event Sourcing for data consistency
- Service mesh for observability
- Serverless for cost efficiency
**TypeScript Patterns:**
- Discriminated unions for type safety
- Repository pattern for data access
- Dependency injection with interfaces
- Composition over inheritance
**System Design:**
- Horizontal scaling with load balancers
- Database sharding and replication
- Caching strategies (Redis, CDN)
- Message queues for async processing
- Circuit breakers for resilience
---
*Part of octocode-mcp resources collection*