Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Categories
  3. Miscellaneous
  4. Software Architecture

Software Architecture

The "Awesome Software Architecture" project is a curated collection of resources focused on the principles and practices of software architecture, which is the foundational structure of software systems. This list encompasses a wide range of categories including architectural patterns, design principles, frameworks, tools, and case studies that illustrate best practices in the field. It is beneficial for software architects, developers, and engineers at all levels who seek to deepen their understanding of software design and improve their system architecture skills. Whether you're looking for guidance on microservices, monolithic architectures, or design patterns, this collection offers valuable insights and resources to elevate your software architecture knowledge.

software-designarchitecture-patternsdesign-principlessystem-architecturemicroservicessoftware-engineeringdevelopment-tools
RSSView on GitHub
2.8k stars195 forks0 contributorsUpdated
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub

Related Awesome Lists

📦
Awesome

The "Awesome" project is a comprehensive exploration of recursion, a fundamental programming technique where a function calls itself to solve problems. This list covers various aspects of recursion, including visual illustrations, examples, and explanations that help demystify the concept. It is beneficial for beginners looking to grasp the basics of recursion, as well as experienced developers seeking to refine their understanding or find new applications for recursive solutions. With a variety of resources available, users can deepen their knowledge and enhance their coding skills through practical examples and insightful discussions.

452.0k
📦
Self Hosted

The "Awesome Self Hosted" project is a curated collection of software applications that can be hosted on your own servers, providing users with full control over their data and services. This list encompasses a wide range of categories, including web applications, databases, file storage solutions, content management systems, and development tools. It is particularly beneficial for developers, system administrators, and privacy-conscious users who seek alternatives to cloud services. By leveraging self-hosted solutions, users can enhance their security, customize their environments, and reduce reliance on third-party providers. Explore this collection to discover powerful tools that empower you to take charge of your digital landscape.

284.1k
📦
Free for Developers

The "Awesome Free for Developers" project is a curated collection of free tools, services, and resources available for developers. This list covers a wide range of categories including cloud services, APIs, software development tools, design resources, and educational platforms that offer free tiers or completely free access. It is particularly beneficial for developers, startups, and students who are looking to leverage high-quality resources without incurring costs. By providing access to these valuable tools, the project empowers users to enhance their projects, improve their skills, and innovate without financial barriers. Explore this collection to discover what you can utilize for your next development endeavor.

120.5k
📦
Beginner-Friendly Projects

The "Awesome Beginner-Friendly Projects" project is a curated collection of coding projects aimed at helping novice developers enhance their programming skills through practical experience. This list includes a variety of beginner-friendly projects across different programming languages, covering categories such as web development, game development, data analysis, and mobile applications. With resources ranging from project ideas and tutorials to sample code and community support, this list is invaluable for beginners looking to build confidence and competence in coding. Whether you're just starting or looking to practice your skills, you'll find engaging projects that inspire creativity and learning.

84.2k

Table of Contents

12 sections · 58 projects

Principles

2 projects
Flexibility

medium.com
SOLID

digitalocean.com

Design Patterns

10 projects
Ports and adapters pattern

jmgarridopaz.github.io
Observer pattern

medium.com
Design Patterns: Elements of Reusable Object-Oriented Software, by Gamma et al

amazon.com
Software Design Patterns: A Guide

airbrake.io
Software Design Patterns and Principes (quick overview)

youtube.com
CQRS

docs.microsoft.com
Event Sourcing

docs.microsoft.com
Feature Toggles

martinfowler.com
Behavior Driven Development (BDD) and Functional Testing

medium.com
N-tier architecture style

docs.microsoft.com

Scalability and Resilience

3 projects
Circuit Breaker

martinfowler.com
Bulkhead

docs.microsoft.com
Leader Election

docs.microsoft.com

Methodology

5 projects
No silver bullet, by Brooks

worrydream.com
Clean Architecture, by Martin

amazon.com
Technical Debt, by Fowler

martinfowler.com
The Magic Tricks of Testing

youtube.com
TDD, Where did it all go wrong?, by Cooper

infoq.com

Documentation

3 projects
arc42

arc42.org
Architectural Decision Records

adr.github.io
Documenting architecture

dzone.com

Workshop formats

6 projects
Event Storming

eventstorming.com
MoSCoW Prioritization

knowledgehut.com
Story mapping

jpattonassociates.com
Impact mapping

impactmapping.org
Business Model Canvas

en.wikipedia.org
Business Model Generation, by Osterwalder & Pigneur

amazon.com