diff --git a/README.md b/README.md
index e7d8cd96..c9164c71 100644
--- a/README.md
+++ b/README.md
@@ -7,11 +7,11 @@
## Motivation
-> Learn how to design large scale systems.
+> Learn how to design large-scale systems.
>
> Prep for the system design interview.
-### Learn how to design large scale systems
+### Learn how to design large-scale systems
Learning how to design scalable systems will help you become a better engineer.
@@ -54,6 +54,19 @@ The provided [Anki flashcard decks](https://apps.ankiweb.net/) use spaced repeti
Great for use while on-the-go.
+### Coding Resource: Interactive Coding Challenges
+
+Looking for resources to help you prep for the [**Coding Interview**](https://github.com/donnemartin/interactive-coding-challenges)?
+
+
+
+
+
+
+Check out the sister repo [**Interactive Coding Challenges**](https://github.com/donnemartin/interactive-coding-challenges), which contains an additional Anki deck:
+
+* [Coding deck](anki_cards/https://github.com/donnemartin/interactive-coding-challenges/tree/master/anki_cards/Coding.apkg)
+
## Contributing
> Learn from the community.
@@ -1330,12 +1343,13 @@ A basic HTTP request consists of a verb (method) and a resource (endpoint). Bel
*Can be called many times without different outcomes.
-The difference between `PUT` and `PATCH` is explained by example [here](https://laracasts.com/discuss/channels/general-discussion/whats-the-differences-between-put-and-patch?page=1).
-
HTTP is an application layer protocol relying on lower-level protocols such as **TCP** and **UDP**.
-* [HTTP](https://www.nginx.com/resources/glossary/http/)
-* [README](https://www.quora.com/What-is-the-difference-between-HTTP-protocol-and-TCP-protocol)
+#### Source(s) and further reading: HTTP
+
+* [What is HTTP?](https://www.nginx.com/resources/glossary/http/)
+* [Difference between HTTP and TCP](https://www.quora.com/What-is-the-difference-between-HTTP-protocol-and-TCP-protocol)
+* [Difference between PUT and PATCH](https://laracasts.com/discuss/channels/general-discussion/whats-the-differences-between-put-and-patch?page=1)
### Transmission control protocol (TCP)
@@ -1423,12 +1437,12 @@ POST /anotheroperation
RPC is focused on exposing behaviors. RPCs are often used for performance reasons with internal communications, as you can hand-craft native calls to better fit your use cases.
-Choose a Native Library aka SDK when:
+Choose a native library (aka SDK) when:
* You know your target platform.
-* You want to control how your "logic" is accessed
-* You want to control how error control happens off your library
-* Performance and end user experience is your primary concern
+* You want to control how your "logic" is accessed.
+* You want to control how error control happens off your library.
+* Performance and end user experience is your primary concern.
HTTP APIs following **REST** tend to be used more often for public APIs.
diff --git a/resources/study_guide.graffle b/resources/study_guide.graffle
new file mode 100644
index 00000000..39f81b01
Binary files /dev/null and b/resources/study_guide.graffle differ
diff --git a/resources/study_guide.png b/resources/study_guide.png
new file mode 100644
index 00000000..e69bc9e7
Binary files /dev/null and b/resources/study_guide.png differ
diff --git a/solutions/system_design/mint/mint.graffle b/solutions/system_design/mint/mint.graffle
new file mode 100644
index 00000000..5ba2e5f8
Binary files /dev/null and b/solutions/system_design/mint/mint.graffle differ
diff --git a/solutions/system_design/mint/mint_basic.graffle b/solutions/system_design/mint/mint_basic.graffle
new file mode 100644
index 00000000..95c2e81e
Binary files /dev/null and b/solutions/system_design/mint/mint_basic.graffle differ
diff --git a/solutions/system_design/pastebin/pastebin.graffle b/solutions/system_design/pastebin/pastebin.graffle
new file mode 100644
index 00000000..879a6275
Binary files /dev/null and b/solutions/system_design/pastebin/pastebin.graffle differ
diff --git a/solutions/system_design/pastebin/pastebin_basic.graffle b/solutions/system_design/pastebin/pastebin_basic.graffle
new file mode 100644
index 00000000..fad80c23
Binary files /dev/null and b/solutions/system_design/pastebin/pastebin_basic.graffle differ
diff --git a/solutions/system_design/query_cache/query_cache.graffle b/solutions/system_design/query_cache/query_cache.graffle
new file mode 100644
index 00000000..bb122b4f
Binary files /dev/null and b/solutions/system_design/query_cache/query_cache.graffle differ
diff --git a/solutions/system_design/query_cache/query_cache_basic.graffle b/solutions/system_design/query_cache/query_cache_basic.graffle
new file mode 100644
index 00000000..27ebf47f
Binary files /dev/null and b/solutions/system_design/query_cache/query_cache_basic.graffle differ
diff --git a/solutions/system_design/sales_rank/sales_rank.graffle b/solutions/system_design/sales_rank/sales_rank.graffle
new file mode 100644
index 00000000..0a491db5
Binary files /dev/null and b/solutions/system_design/sales_rank/sales_rank.graffle differ
diff --git a/solutions/system_design/sales_rank/sales_rank_basic.graffle b/solutions/system_design/sales_rank/sales_rank_basic.graffle
new file mode 100644
index 00000000..19eb85ff
Binary files /dev/null and b/solutions/system_design/sales_rank/sales_rank_basic.graffle differ
diff --git a/solutions/system_design/scaling_aws/scaling_aws.graffle b/solutions/system_design/scaling_aws/scaling_aws.graffle
new file mode 100644
index 00000000..460d1deb
Binary files /dev/null and b/solutions/system_design/scaling_aws/scaling_aws.graffle differ
diff --git a/solutions/system_design/social_graph/social_graph.graffle b/solutions/system_design/social_graph/social_graph.graffle
new file mode 100644
index 00000000..a245d5a6
Binary files /dev/null and b/solutions/system_design/social_graph/social_graph.graffle differ
diff --git a/solutions/system_design/social_graph/social_graph_basic.graffle b/solutions/system_design/social_graph/social_graph_basic.graffle
new file mode 100644
index 00000000..a753b39c
Binary files /dev/null and b/solutions/system_design/social_graph/social_graph_basic.graffle differ
diff --git a/solutions/system_design/template/template.graffle b/solutions/system_design/template/template.graffle
new file mode 100644
index 00000000..6908231e
Binary files /dev/null and b/solutions/system_design/template/template.graffle differ
diff --git a/solutions/system_design/twitter/twitter.graffle b/solutions/system_design/twitter/twitter.graffle
new file mode 100644
index 00000000..f93f4eac
Binary files /dev/null and b/solutions/system_design/twitter/twitter.graffle differ
diff --git a/solutions/system_design/twitter/twitter_basic.graffle b/solutions/system_design/twitter/twitter_basic.graffle
new file mode 100644
index 00000000..c754b9e8
Binary files /dev/null and b/solutions/system_design/twitter/twitter_basic.graffle differ
diff --git a/solutions/system_design/web_crawler/web_crawler.graffle b/solutions/system_design/web_crawler/web_crawler.graffle
new file mode 100644
index 00000000..831e02fd
Binary files /dev/null and b/solutions/system_design/web_crawler/web_crawler.graffle differ
diff --git a/solutions/system_design/web_crawler/web_crawler_basic.graffle b/solutions/system_design/web_crawler/web_crawler_basic.graffle
new file mode 100644
index 00000000..7d466eb2
Binary files /dev/null and b/solutions/system_design/web_crawler/web_crawler_basic.graffle differ