|
1 |
| -# system-design-templates-excalidraw |
| 1 | +# System design template: excalidraw - `emoji edition` |
| 2 | + |
| 3 | +> Rough shapes to do rapid system design in front-end, full-stack, back-end, distributed, and product settings. |
| 4 | +
|
| 5 | +<details open><summary>Preview</summary> |
| 6 | + <p><img src="https://user-images.githubusercontent.com/4022631/126106256-a60fc6c8-1924-4fe2-9a02-78c38254f060.png" alt="System design template preview (emoji, aretecode)"></p> |
| 7 | +</details> |
| 8 | + |
| 9 | +<details><summary>Goals</summary> |
| 10 | + <ol> |
| 11 | + <li>Make it easy to do common system designs.</li> |
| 12 | + <li>Make system design faster.</li> |
| 13 | + </ol> |
| 14 | +</details> |
| 15 | + |
| 16 | +## Usage |
| 17 | + |
| 18 | +### [1. Download] |
| 19 | +[1. Download]: #-download--clone |
| 20 | + |
| 21 | +```bash |
| 22 | +gh repo clone aretecode/system-design-templates-excalidraw && cd system-design-templates-excalidraw/src && ((open .) || (open `pwd`)) |
| 23 | +``` |
| 24 | + |
| 25 | + |
| 26 | +<details><summary><strong>See in action</strong></summary> |
| 27 | + |
| 28 | + |
| 29 | +_clones repo, cd to cloned dir, and opens in finder/explorer._ |
| 30 | + |
| 31 | +</details> |
| 32 | + |
| 33 | +### [2. Use in excalidraw] |
| 34 | +[2. Use in excalidraw]: #-use-in-excalidraw |
| 35 | + |
| 36 | +<details><summary><strong>See how to</strong></summary> |
| 37 | + |
| 38 | + |
| 39 | + |
| 40 | +</details> |
| 41 | + |
| 42 | +## More |
| 43 | + |
| 44 | +<details> |
| 45 | + <summary><u><i>How to customize?</i></u> <a href="#-tips-faq--customization">🔗<a></summary> |
| 46 | + <p><img src="https://user-images.githubusercontent.com/4022631/126106291-eb966e66-6ee2-4abb-9f8c-e7649d9e03da.gif" alt="system-design-template-aretecode-excalidraw--how-to-customize-and-use-tips" /></p> |
| 47 | +</details> |
| 48 | +<details> |
| 49 | + <summary><u><i>There are so many icons, how do you use this in a real world setting?</i></u> <a href="#-tips-faq--too-big">🔗<a></summary> |
| 50 | + <p>Open 2 tabs, 1 you can drop in all the icons, then copy into the other tab, delete the unused, then re-arrange as-needed.</p> |
| 51 | + <p><img src="https://user-images.githubusercontent.com/4022631/126108386-952c197f-46c0-4dee-b7ca-bb10d71122af.gif" alt="system-design-template-aretecode--how-to-use-across-tabs-quickly" /></p> |
| 52 | +</details> |
| 53 | +<details> |
| 54 | + <summary><u><i>Why are the shapes not each in their own library component?</i></u> <a href="#-tips-faq--why-shapes-in-1">🔗<a></summary> |
| 55 | + <p>When I used other libraries on excalidraw, it was difficult to see the shape from the thumbnail/preview. Without a search feature, I found myself dragging and dropping each shape 1-by-1 to find the one I was looking for. The shapes here are loosely-grouped. This (ideally) makes the icons easier to find and copy in to any system design.</p> |
| 56 | +</details> |
| 57 | +<details><summary><i>How to use in excalidraw without a gif?! TLDR</i></summary> |
| 58 | + <ul> |
| 59 | + <li>Open <a href="https://excalidraw.com">excalidraw</a>.</li> |
| 60 | + <li>Open library (<em>at the top right</em>).</li> |
| 61 | + <li>Click import (<em>folder icon</em>).</li> |
| 62 | + <li>Select the <code>.excalidrawlib</code> from your computer.</li> |
| 63 | + </ul> |
| 64 | +</details> |
| 65 | +<details><summary><i>I want to download some other way, how?</i> <a href="#-tips-faq--why-shapes-in-1">🔗<a></summary> |
| 66 | + <h5>wget</h5> |
| 67 | + <pre><code class="lang-bash">wget -O "system-design-template-emoji.excalidrawlib" "https://raw.githubusercontent.com/aretecode/system-design-templates-excalidraw/main/src/system-design-template-emoji.excalidrawlib" |
| 68 | + </code></pre> |
| 69 | + <h5>Save file</h5> |
| 70 | + <ol> |
| 71 | + <li>Open the <a href="https://github.com/aretecode/system-design-templates-excalidraw/raw/main/src/system-design-template-emoji.excalidrawlib">raw library file</a></li> |
| 72 | + <li>Press <a href="https://support.google.com/chrome/answer/95759?hl=en&co=GENIE.Platform%3DDesktop"><code>Command-S</code> (<em><code>[Cmd ⌘]</code> + <code>[s]</code> on osx, <code>Ctrl+S</code> on windows</em>) to save the file</a>.</li> |
| 73 | + <li>Append <code>.excalidrawlib</code> extension to the file name <strong>and</strong> change format from <code>txt</code> to <code>all files</code>.</li> |
| 74 | + <li>Click save in the save-as modal.</li> |
| 75 | + </ol> |
| 76 | + <hr /> |
| 77 | +</details> |
| 78 | +<details> |
| 79 | + <summary><u><i>What tools did you use?</i></u><a href="#-tips-faq--tools used">🔗<a></summary> |
| 80 | + <section> |
| 81 | + <ul> |
| 82 | + <li><a href="https://excalidraw.com">excalidraw</a> to create and use the library</li> |
| 83 | + <li><a href="https://imageoptim.com/">imageoptim</a> to reduce size of images exported by excalidraw</li> |
| 84 | + <li><a href="https://github.com/excalidraw/excalidraw-libraries">excalidraw libraries</a> for naming, formatting, library standards and instructions</li> |
| 85 | + <li><a href="https://emoji.muan.co/">emoji.muan</a> to search for emoji</li> |
| 86 | + <li><a href="https://github.com/sindresorhus/Gifski">Gifski</a> to convert mov recordings to gif</li> |
| 87 | + <li><a href="https://github.com/keycastr/keycastr">keycastr</a> to show key strokes</li> |
| 88 | + <li><a href="https://docs.github.com/en/github/writing-on-github">github md docs for reference</a> <a href="https://github.github.com/gfm/">gfm</a></li> |
| 89 | + </ul> |
| 90 | + </section> |
| 91 | +</details> |
0 commit comments