About This Title

Pages: 150
Published: February 2023
ISBN: 9781680509830
In Beta

Skill Level Meter

Creating Software with Modern Diagramming Techniques

Build Better Software with Mermaid

by Ashley Peacock

Diagrams communicate relationships more directly and clearly than words ever can. Using only text-based markup, create meaningful and attractive diagrams to document your domain, visualize user flows, reveal system architecture at any desired level, or refactor your code. With the tools and techniques this book will give you, you’ll create a wide variety of diagrams in minutes, share them with others, and revise and update them immediately on the basis of feedback. Adding diagrams to your professional vocabulary will enable you to work through your ideas quickly when working on your own code or discussing a proposal with colleagues.

eBook Formats:

  • PDF for desktop/tablets

  • epub for Apple Books, e-readers

  • mobi for Kindle readers

Get all eBook formats here for $20.95 (USD)

Add to Cart we accept visa, mastercard, amex, discover, paypal

This book is in Beta, final version expected Feb 2023

Beta Books: What do I get?


Expand your professional vocabulary by learning to communicate with diagrams as easily and naturally as speaking or writing. This book will provide you with the skills and tools to turn ideas into clear, meaningful, and attractive diagrams in mere minutes, using nothing more complicated than text-based markup. You’ll learn what kinds of diagrams are suited to each of a variety of use cases, from documenting your domain to understanding how complex code pieces together. Model your software’s architecture, creating diagrams focused broadly or narrowly, depending on the audience. Visualize application and user flows, design database schemas, and use diagrams iteratively to design and refactor your application.

You’ll be able to use technical diagramming to improve your day-to-day workflow. You will better understand the codebase you work in, communicate ideas more effectively and immediately with others, and more clearly document the architecture with C4 diagrams. Manually creating diagrams is cumbersome and time-consuming. You’ll learn how to use text-based tools like Mermaid to rapidly turn ideas into diagrams. And you’ll learn how to keep your diagrams up to date and seamlessly integrated into your engineering workflow. You’ll be better at visualizing and communicating when you add diagrams to your standard vocabulary.

What You Need

  • A Mac or PC
  • A GitHub account

Resources

Releases:

  • B3.0 2022/11/29
  • B2.0 2022/11/15
  • B1.0 2022/10/28

Contents & Extracts

Note: Contents and extracts of beta books will change as the book is developed.

  • Preface
    • Who Should Read This Book?
    • What’s In This Book?
    • What’s Not In This Book?
    • How To Read This Book?
    • Online Resources
  • Introduction
    • Diagramming Techniques
    • Diagramming Tools
    • Creating Diagrams
    • Using The Command Line
  • Document Your Domain excerpt
    • Determine The Important Entities
    • Document Our First Relationship
    • Define Associations
    • Define Composite Relationships
    • Define Aggregate Relationships
    • Decide Between Association, Aggregation & Composition
    • Document Your Own Domain
    • What We’ve Learned
  • Enhance Your Domain Model
    • Define Inheritance
    • Describe Relationships
    • Add Multiplicity
    • Improve Readability
    • Enrich Nodes With Links
    • Enhance Your Domain Model
    • What We’ve Learned
  • Visualise Application & User Flows
    • Define Actors & Participants
    • Add Our First Interaction
    • Show Branching Logic
    • Display Asynchrous Messages
    • Display Length Of Interactions With Activations
    • Add Additional Information With Notes
    • Annotate Your Diagram With Sequence Numbers
    • Create Dropdown Menus
    • Visualise Your Own Application Flow
    • What We’ve Learned
  • Model Your Architecture
    • Using The C4 Model
    • Creating A System Context Diagram excerpt
    • Add Nodes
    • Connect Nodes
    • Add Some Style
    • Create Your Own System Context Diagram
    • What We’ve Learned
  • Detail Your System’s Containers
    • Define The First Two Containers
    • Create Clear Boundaries With Subgraphs
    • Add Supporting Systems
    • Improve Readability With Link Lengths
    • Display Asynchronous Interactions
    • Additional Arrow Types
    • Create Your Own Container Diagram
    • What We’ve Learned
  • Structure Your Components & Code
    • Code Diagram
    • Leverage Flowcharts For Complex Flows
    • What We’ve Learned
  • Design Database Schemas
    • Use Entity Relationship Diagrams
    • Define Our First Entity
    • Relate Entities
    • Add Zero To Many Relationships
    • Enrich Schemas With Keys
    • Comment Your Columns
    • Define “Zero Or One” Relationships
    • Describe Non-Identifying Relationships
    • Finalise Streamy’s ERD
    • Design Your Database Schema
    • What We’ve Learned
  • Visualise Code Flows
    • Use Sequence Diagrams To Understand Class Interactions
    • Define Loops
    • Show Parallel Processes
    • What We’ve learned
  • Design & Refactor Your Applications
    • Identify Refactoring Opportunities With Class Diagrams
    • Define Classes
    • Show Dependencies With Relationships
    • Refactor The Classes
    • Introduce A Request Class
    • Define Interfaces
    • Create A Class Diagram
    • What We’ve learned
  • Render Diagrams Using Native Support
    • Leverage Native Mermaid Integrations
    • Render Mermaid Within Markdown Files
    • Where Should You Include Diagrams?
    • What About Websites Without Native Support?
    • Keep Diagrams Up To Date
    • Render A Diagram On GitHub
    • What We’ve learned
  • Create A Static Site With Mermaid Diagrams
    • Devise A Plan Of Action excerpt
    • Learn The Basics Of A GitHub Action
    • Start By Defining The Events That Trigger The Action
    • Checkout The Repository’s Code
    • Convert Mermaid Markup To SVGs In Markdown
    • Build Jekyll Artifacts
    • Deploy To GitHub Pages
    • Run The Action
    • What We’ve learned
  • What We’ve Learned

Author

Ashley Peacock is a staff engineer and architect working in the UK tech industry with over 10 years of experience. He’s an avid user of diagrams, and a huge advocate for their power in conveying ideas, documenting architectures, and whiteboarding problems.

He has experience across the tech stack, with particular focus on backend technologies, having worked with C#, Ruby and PHP. He also has significant experience working with APIs and asychronous architectures, in particular working with Apache Kafka.

eBook Formats:

  • PDF for desktop/tablets

  • epub for Apple Books, e-readers

  • mobi for Kindle readers

Get all eBook formats here for $20.95 (USD)

Add to Cart we accept visa, mastercard, amex, discover, paypal

This book is in Beta, final version expected Feb 2023

Beta Books: What do I get?

Related Titles:

Skill Level Meter

About This Title

Pages: 150
Published: February 2023
ISBN: 9781680509830
Edition: 1
In Beta