/mermaids

Primary LanguageMermaid

Mermaid Diagrams Repository

Welcome to the Mermaid Diagrams Repository! This repository is a treasure trove of Mermaid diagrams detailing various technical processes, from the intricate workings of compilers and Linux containers to the authentication flows in SAML and SSL. Each diagram is meticulously crafted to provide insights into complex systems through the simple, yet powerful, visual medium of Mermaid diagrams.

Diagrams Overview

This repository contains the following Mermaid diagrams:

  • compiler.mermaid - An in-depth look at the compilation process.
  • complex_web_app.mermaid - Example System design for a fairly complex web app on the cloud.
  • container_linux_journey.mermaid - The lifecycle of a Linux container.
  • dhcp_dns.mermaid - The process of how DHCP and DNS interact with a network client.
  • java_program_journey.mermaid - A detailed journey of a Java program from compilation to execution.
  • k8s_journey.mermaid - What happens behind the curtain when you do kubectl apply -f hello-world.yaml.
  • linux_boot.mermaid - The Linux boot process, step by step.
  • linux_process_journey.mermaid - The lifecycle of a Linux process.
  • linux_process_w_threads_journey.mermaid - How Linux handles processes with multiple threads.
  • linux_scheduler.mermaid - A deep dive into the Linux scheduler.
  • python_program_journey.mermaid - The execution path of a Python program.
  • saml.mermaid - The authentication and authorization flow in SAML.
  • ssl.mermaid - The SSL handshake and encryption process.
  • simple_webapp.mermaid - Simple web app, nothing more.
  • vpn.mermaid - How VPNs work, encapsulating data through encrypted tunnels.

How to Use

To view these diagrams, you'll need a Mermaid-compatible viewer or extension. Many code editors like Visual Studio Code have extensions for Mermaid, or you can use online tools like the Mermaid Live Editor.

Simply copy the content of a .mermaid file into your Mermaid viewer to render the diagram visually.

Contributing

Your contributions are welcome! If you have improvements or additional diagrams to add, please follow these steps:

  1. Fork the repository - Make a copy of the repository to your GitHub account.
  2. Create a branch - Work on your changes in a new branch.
  3. Commit your changes - Make sure your commits are neatly packaged and well-described.
  4. Open a pull request - Describe the changes you've made and submit a PR to the main repository.

License

This repository is shared under the MIT License. Feel free to use, modify, and share any of the diagrams as you see fit.