Justified Code/The Software Architect Toolbox

You're signing up to receive emails from Justified Code.

  • Free email delivery

The Software Architect Toolbox

  • Download
  • 1 file

The set of diagram pieces you can use to create awesome architecture visuals.

The library package is regularly updated. Every time I find a new artifact or draw one myself, I add it because I think you should have it in your arsenal.

📦 What you get: 1 Excalidraw Library file (.excalidrawlib) → ready to drop into excalidraw.com

You're signing up to receive emails from Justified Code.

Using the Toolbox

Educational Diagrams

To give you an idea on what you can create with the Toolbox materials, we're listing some of the educational materials we have done for our courses and blog articles.

Microsoft 365 Copilot Architecture

User enters a prompt inside the Teams app. The Copilot back-end orchestrator service augment that prompt relying on Microsoft Graph access to organizational resources. The LLM receives the augmented prompt and sends back a relevant response.

External Configuration System Pattern

This is a system that provides configuration as a service, and it is external to the application. The system contains logic to read and write configuration values from storage. This logic also has exception handling in place and how to deal with empty configuration values.

AWS Notification Service

Propagates a payment transaction across inventory and sales systems. Plus, sends the confirmation email.

Azure Application Gateway

The Application Gateway acting as traffic cop in front of a primary and secondary VNet. The App Service Environment for allocating a fixed ip address for the gatekeeper to point to.

Claim-Check Pattern: Azure Serverless

Use the messaging system for what it’s good at and let external storage handle the heavy lifting.

Change Data Capture

You decided to distribute your processing logic. Now, you want to think about data consistency across these services. Publishing a broker message event may fail. That’s where the transactional outbox pattern shine.

Modernizing a monolithic application

The Transfer service depends on the Email service for sending email messages. You add an anti-corruption layer Email ACL that publishes those emails as events into the message broker. The monolithic logic has no awareness of that ACL.

Publisher Subscriber Pattern

You don’t want to miss a payment. Let the ordering service create the order in a queue and continue serving more orders without blocking the caller.

Retail Customer

The staff member updated the database records (6) that have a corresponding cache key stored in the distributed cache. Once data has changed in the database (8), we want to prevent fetching data from the cache thus we invalidate the cache key (9).

Scaling out with Queueing

The worst thing that would happen is to have many pending requests (pending emails) in the queue that should be eventually processed.

The Producer Becoming the Consumer

Effectively, the producer becomes the consumer as well. The requesting component places the message in a queue and then periodically polls the response queue to check if the message is processed.

Load Balancer

If this isn't a third-party API, we could try to solve this by instantiating another instance of the API, and putting a load balancer in front of the instances.

Static Content Hosting Pattern

The pattern dictates that the application is hosted separately from the static content.

Using the Toolbox

Real Systems Diagrams

We're also listing some of the architecture diagrams created for real projects.

Architecture Diagram

The diagram shows the different components composing our system. A great way to showcase your architecture to concerned audience.

Use Cases Analysis Diagram

The first diagram any architect should show isn’t a maze of boxes – it’s a simple Use Cases Analysis diagram.

Infrastructure Diagram

You see from the diagram, no direct access is allowed between Public and Data zones. All traffic must flow through the Application zone, where strict rules apply.

Mobile App Dynamic Content

Simplicity works better. We ripped out the entire cache-and-DB lookup system. The code on the app side is trivial (fetch file, parse JSON).

Async Worker Model

With this asynchronous setup, the bill payment workflow became resilient and scalable.

Component Architecture Diagram

Build change‑ready software that stands the test of time with Clean Architecture. Combine rich domains with pluggable gateways to protect the core logic and adapt to change with confidence.

Component Interaction Diagram

Show the communication flow across your components in a fine way. A system without clear architecture boundaries is not really a system.

Contents

Excalidraw Library

20251031_library.excalidrawlib
  • 1.26 MB