diff --git a/LICENSE.md b/LICENSE.md index 48d12958..c2621eea 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -15,6 +15,9 @@ Under the following terms: - **Attribution**: You must give appropriate credit, provide a link to the license, and indicate if changes were made. + +## New Content + All modifications and additions in [System Design Primer Update](https://github.com/ido777/system-design-primer-update) are made in the spirit of open collaboration and innovation and for now are licensed under the same license as the original content but this might change in the future. diff --git a/docs/ar/README.md b/docs/ar/design-glance.md similarity index 100% rename from docs/ar/README.md rename to docs/ar/design-glance.md diff --git a/docs/en/README.md b/docs/en/design-glance.md similarity index 100% rename from docs/en/README.md rename to docs/en/design-glance.md diff --git a/docs/en/index.md b/docs/en/index.md index 16ceb0e6..9bc5805c 100644 --- a/docs/en/index.md +++ b/docs/en/index.md @@ -1,12 +1,45 @@ -# System Design Primer Update +# System Design Primer: Update Edition -## Overview +Welcome to the **System Design Primer: Update Edition**. This project is an evolution of the original [System Design Primer](https://github.com/donnemartin/system-design-primer), tailored for the era of 2025 & Generative AI. + +## Introduction + +### 1. Software Development in 2025: Kubernetes & Generative AI + +The world of software development has evolved dramatically since 2017. Today, systems are designed for distribution from day one, powered by Kubernetes, container orchestration, and the rise of Generative AI. This shift demands fresh perspectives on architecture, scalability, and operational practices. + +### 2. Why We Need an Updated Edition + +- **Outdated Core Content**: The majority of the original material dates back to 2017. Foundational chapters on scaling, fault tolerance, and microservices were written before Kubernetes became ubiquitous. +- **Generative AI Impact**: Emerging AI-driven patterns—from inference pipelines to LLM-powered observability—are not covered in the legacy primer. Incorporating these topics will keep the guide relevant. +- **Stagnant Maintenance**: Even minor fixes—typo corrections, link updates, and broken URL patches—have gone unaddressed for at least two years. Examples include [is this awesome repo no longer been updated?](https://github.com/donnemartin/system-design-primer/issues/840) that was opened at **Feb 2024** or [Indieflashblog link is dead](https://github.com/donnemartin/system-design-primer/issues/501) that was opened at **Jan 2021**. + +### 3. Community Call to Action + +The original repo served countless learners and interview candidates, but its current lack of maintenance makes it effectively obsolete. If you find value in revitalizing this resource: + +- ⭐ **Star this fork** so it gains visibility +- 📝 **Contribute fixes** for typos, link repairs, and outdated examples +- 💡 **Submit enhancements** on Kubernetes best practices, AI-powered architectures, and modern tooling + +Together, we can create a state-of-the-art primer that reflects the realities of cloud-native, AI-augmented system design in 2025 and beyond. + +## What's New? + + +See [System Design at a Glance]([./design-glance.md](https://github.com/ido777/system-design-primer-update/blob/main/CHANGELOG.md)) for a comprehensive list of changes. + + + +## Here to Learn -Welcome! This is the official English version of the System Design Primer Update which is a new version of the System Design Primer. 👉 Start here: [Study Guide](./study_guide.md) -👉 The System Design Primer Update [README](./README.md) -👉 Solve System Design Interview Questions [Solutions](./solutions.md) + +👉 Solve System Design Interview Questions [Questions & Solutions](./solutions.md) + +👉 Identified Gaps while solving read the relevant sections in [System Design at a Glance](./design-glance.md) -If you're interested in contributing or translating, check out the [contribution guidelines](../CONTRIBUTING.md) (coming soon). + +If you're interested in contributing or translating, check out the [contribution guidelines](https://github.com/ido777/system-design-primer-update/blob/main/CONTRIBUTING.md). diff --git a/docs/en/study_guide.md b/docs/en/study_guide.md index 38c48bc7..e0222dbc 100644 --- a/docs/en/study_guide.md +++ b/docs/en/study_guide.md @@ -102,65 +102,6 @@ flowchart TB style Assess fill:#FFF0F5,stroke:#993366,stroke-width:4px,rx:6,ry:6 ``` -🗺️ Table of Contents - -- [System Design Interview Study Guide](#system-design-interview-study-guide) - - [Understand What a System Design Interview Is *Really* About](#understand-what-a-system-design-interview-is-really-about) -- [Cracking the system](#cracking-the-system) - - [A Strategic Framework for System Design Interview Preparation](#a-strategic-framework-for-system-design-interview-preparation) - - [Interviewer's perspective.](#interviewers-perspective) - - [Interviewer's Goals in System Design Interview](#interviewers-goals-in-system-design-interview) - - [Alex Xu's four-phase framework for the system design interview](#alex-xus-four-phase-framework-for-the-system-design-interview) - - [From Insight to Interview Mastery](#from-insight-to-interview-mastery) - - [Critical Behaviors in the Interview Room](#critical-behaviors-in-the-interview-room) - - [✅ ABC Cheat Codes - A way to memorize during the interview](#-abc-cheat-codes---a-way-to-memorize-during-the-interview) - - [🔁 Interview ABC Loop](#-interview-abc-loop) - - [🎯 ABC for Preparation](#-abc-for-preparation) - - [🗣️ ABC Dialogue Loop](#️-abc--dialogue-loop) - - [🧠 ABC - Thinking Process](#-abc---thinking-process) -- [Phase 1: Understand the Problem \& Establish Design Scope](#phase-1-understand-the-problem--establish-design-scope) - - [🎯 Interviewer's Goal](#-interviewers-goal) - - [✅ Candidate's Strategy](#-candidates-strategy) - - [🧭 Phase one Ask ABC - Ask wide open questions on the below subjects:](#-phase-one-ask-abc---ask-wide-open-questions-on-the-below-subjects) - - [🔍 Example Dialogue (Pastebin)](#-example-dialogue-pastebin) - - [🧭 For more examples of the scoping dialogue](#-for-more-examples-of-the-scoping-dialogue) - - [🧭 Phase one Breakdown ABC - Brief the requirements with breakdown at mind:](#-phase-one-breakdown-abc---brief-the-requirements-with-breakdown-at-mind) - - [🔍 Example Breakdown (Pastebin)](#-example-breakdown-pastebin) -- [Phase 2: Propose a High-Level Design \& Get Buy-In](#phase-2-propose-a-high-level-design--get-buy-in) - - [🎯 Interviewer's Goal](#-interviewers-goal-1) - - [🛠️ Candidate's Strategy](#️-candidates-strategy) - - [How to create the high level design](#how-to-create-the-high-level-design) - - [Optional: use cases --\> Sequence diagram](#optional-use-cases-----sequence-diagram) - - [Important: Actually we can use mermaid to draw the sequence diagram, maybe even in the interview room.](#important-actually-we-can-use-mermaid-to-draw-the-sequence-diagram-maybe-even-in-the-interview-room) - - [Background tasks](#background-tasks) - - [🧭 Phase two ABC - Propose a high-level design](#-phase-two-abc---propose-a-high-level-design) - - [Block diagram](#block-diagram) - - [Get buy-in](#get-buy-in) - - [Phase 2.5: After Gaining Buy-In and Before the Deep Dive](#phase-25-after-gaining-buy-in-and-before-the-deep-dive) - - [🎯 Interviewer’s Goal: **Decide What’s Next**](#-interviewers-goal-decide-whats-next) - - [✅ Candidate’s Strategy: **Steer the Conversation Strategically**](#-candidates-strategy-steer-the-conversation-strategically) -- [Phase 3: Deep Dive into Key Components](#phase-3-deep-dive-into-key-components) - - [🎯 Interviewer's Goal](#--interviewers-goal) - - [✅ Candidate's Strategy](#-candidates-strategy-1) - - [🧭 ABC Process for Phase 3](#-abc-process-for-phase-3) -- [Phase 4: Wrap Up](#phase-4-wrap-up) - - [🎯 Interviewer's Goal](#--interviewers-goal-1) - - [✅ Candidate's Strategy](#-candidates-strategy-2) - - [🧭 ABC Process for Phase 4](#-abc-process-for-phase-4) - - [Gap Assessment](#gap-assessment) - - [System design interview practice](#system-design-interview-practice) - - [System design knowledge](#system-design-knowledge) - - [Refresh Your knowledge](#refresh-your-knowledge) -- [Personal Learning Plan](#personal-learning-plan) - - [System design interview](#system-design-interview) - - [Timeline matters](#timeline-matters) - - [System design knowledge](#system-design-knowledge-1) - - [Timeline matters](#timeline-matters-1) -- [Learning Loop](#learning-loop) - - [Repetition is the mother of all skills](#repetition-is-the-mother-of-all-skills) -- [FAQ](#faq) - - [Source(s) and further reading](#sources-and-further-reading) - - [References](#references) ## Understand What a System Design Interview Is *Really* About @@ -183,8 +124,8 @@ Many candidates focus on memorizing architectures instead of engaging in a colla --- -# Cracking the system -## A Strategic Framework for System Design Interview Preparation +## Cracking the system +### A Strategic Framework for System Design Interview Preparation --- @@ -206,7 +147,7 @@ Don't worry - we will go into details in the next sections, but for now let's ju --- -### Interviewer's perspective. +#### Interviewer's perspective. Before talking about the solution - system design interview guide, let's understand the problem. The interviewer decides on your success in the interview, so let's reverse engineer the process of the system design interview from the interviewer point of view. @@ -218,7 +159,7 @@ The limited time is a challenge for the interviewer, therefore the interviewer w Understand the interviewer's goals and triggers will help you to prepare for the interview and to be more effective during the interview. -### Interviewer's Goals in System Design Interview +#### Interviewer's Goals in System Design Interview 1. **Evaluate Communication and Clarification Skills** During the *problem clarification* phase, the interviewer wants to see if the candidate can ask the right questions, uncover hidden constraints, and frame the problem with precision — just like they would in real-world ambiguity. @@ -370,7 +311,7 @@ Communicate Your Thoughts Effectively -# Phase 1: Understand the Problem & Establish Design Scope +## Phase 1: Understand the Problem & Establish Design Scope ### 🎯 Interviewer's Goal @@ -522,7 +463,7 @@ We will use this structure later on to create the high level design. However at Another goal is to verify that we have all the details we need to start the high level design. We want the high level be a straight forward step that is driven from the requirements (more on this in the next section). -# Phase 2: Propose a High-Level Design & Get Buy-In +## Phase 2: Propose a High-Level Design & Get Buy-In ### 🎯 Interviewer's Goal @@ -753,7 +694,7 @@ Here’s an improved and clearer version of your paragraph, preserving all the o --- -## Phase 2.5: After Gaining Buy-In and Before the Deep Dive +### Phase 2.5: After Gaining Buy-In and Before the Deep Dive > This phase is not part of Alex Xu’s original framework but has been added to emphasize a crucial **pivot** point in the interview process — the transition from high-level design to a deep dive. @@ -785,7 +726,7 @@ These are **common areas of discussion** that apply to many designs. Mastering t -# Phase 3: Deep Dive into Key Components +## Phase 3: Deep Dive into Key Components ### 🎯 Interviewer's Goal @@ -971,3 +912,4 @@ More (original repo) resources: * [The system design interview](http://www.hiredintech.com/system-design) * [Intro to Architecture and Systems Design Interviews](https://www.youtube.com/watch?v=ZgdS0EUmn70) * [System design template](https://leetcode.com/discuss/career/229177/My-System-Design-Template) + diff --git a/images/0vBc0hN.png b/docs/images/0vBc0hN.png similarity index 100% rename from images/0vBc0hN.png rename to docs/images/0vBc0hN.png diff --git a/images/1_2Ed1S7UUfLT21AeH0ymIwQ.png b/docs/images/1_2Ed1S7UUfLT21AeH0ymIwQ.png similarity index 100% rename from images/1_2Ed1S7UUfLT21AeH0ymIwQ.png rename to docs/images/1_2Ed1S7UUfLT21AeH0ymIwQ.png diff --git a/images/4edXG0T.png b/docs/images/4edXG0T.png similarity index 100% rename from images/4edXG0T.png rename to docs/images/4edXG0T.png diff --git a/images/4j99mhe.png b/docs/images/4j99mhe.png similarity index 100% rename from images/4j99mhe.png rename to docs/images/4j99mhe.png diff --git a/images/54GYsSx.png b/docs/images/54GYsSx.png similarity index 100% rename from images/54GYsSx.png rename to docs/images/54GYsSx.png diff --git a/images/5KeocQs.jpg b/docs/images/5KeocQs.jpg similarity index 100% rename from images/5KeocQs.jpg rename to docs/images/5KeocQs.jpg diff --git a/images/C9ioGtn.png b/docs/images/C9ioGtn.png similarity index 100% rename from images/C9ioGtn.png rename to docs/images/C9ioGtn.png diff --git a/images/IOyLj4i.jpg b/docs/images/IOyLj4i.jpg similarity index 100% rename from images/IOyLj4i.jpg rename to docs/images/IOyLj4i.jpg diff --git a/images/JdAsdvG.jpg b/docs/images/JdAsdvG.jpg similarity index 100% rename from images/JdAsdvG.jpg rename to docs/images/JdAsdvG.jpg diff --git a/images/MzExP06.png b/docs/images/MzExP06.png similarity index 100% rename from images/MzExP06.png rename to docs/images/MzExP06.png diff --git a/images/ONjORqk.png b/docs/images/ONjORqk.png similarity index 100% rename from images/ONjORqk.png rename to docs/images/ONjORqk.png diff --git a/images/OfVllex.png b/docs/images/OfVllex.png similarity index 100% rename from images/OfVllex.png rename to docs/images/OfVllex.png diff --git a/images/Q6z24La.png b/docs/images/Q6z24La.png similarity index 100% rename from images/Q6z24La.png rename to docs/images/Q6z24La.png diff --git a/images/TcUo2fw.png b/docs/images/TcUo2fw.png similarity index 100% rename from images/TcUo2fw.png rename to docs/images/TcUo2fw.png diff --git a/images/U3qV33e.png b/docs/images/U3qV33e.png similarity index 100% rename from images/U3qV33e.png rename to docs/images/U3qV33e.png diff --git a/images/V5q57vU.png b/docs/images/V5q57vU.png similarity index 100% rename from images/V5q57vU.png rename to docs/images/V5q57vU.png diff --git a/images/Xkm5CXz.png b/docs/images/Xkm5CXz.png similarity index 100% rename from images/Xkm5CXz.png rename to docs/images/Xkm5CXz.png diff --git a/images/b4YtAEN.png b/docs/images/b4YtAEN.png similarity index 100% rename from images/b4YtAEN.png rename to docs/images/b4YtAEN.png diff --git a/images/bWxPtQA.png b/docs/images/bWxPtQA.png similarity index 100% rename from images/bWxPtQA.png rename to docs/images/bWxPtQA.png diff --git a/images/bgLMI2u.png b/docs/images/bgLMI2u.png similarity index 100% rename from images/bgLMI2u.png rename to docs/images/bgLMI2u.png diff --git a/images/cdCv5g7.png b/docs/images/cdCv5g7.png similarity index 100% rename from images/cdCv5g7.png rename to docs/images/cdCv5g7.png diff --git a/images/fNcl65g.png b/docs/images/fNcl65g.png similarity index 100% rename from images/fNcl65g.png rename to docs/images/fNcl65g.png diff --git a/images/h81n9iK.png b/docs/images/h81n9iK.png similarity index 100% rename from images/h81n9iK.png rename to docs/images/h81n9iK.png diff --git a/images/h9TAuGI.jpg b/docs/images/h9TAuGI.jpg similarity index 100% rename from images/h9TAuGI.jpg rename to docs/images/h9TAuGI.jpg diff --git a/images/iF4Mkb5.png b/docs/images/iF4Mkb5.png similarity index 100% rename from images/iF4Mkb5.png rename to docs/images/iF4Mkb5.png diff --git a/images/jj3A5N8.png b/docs/images/jj3A5N8.png similarity index 100% rename from images/jj3A5N8.png rename to docs/images/jj3A5N8.png diff --git a/images/jrUBAF7.png b/docs/images/jrUBAF7.png similarity index 100% rename from images/jrUBAF7.png rename to docs/images/jrUBAF7.png diff --git a/images/jsjss.png b/docs/images/jsjss.png similarity index 100% rename from images/jsjss.png rename to docs/images/jsjss.png diff --git a/images/krAHLGg.png b/docs/images/krAHLGg.png similarity index 100% rename from images/krAHLGg.png rename to docs/images/krAHLGg.png diff --git a/images/kxtjqgE.png b/docs/images/kxtjqgE.png similarity index 100% rename from images/kxtjqgE.png rename to docs/images/kxtjqgE.png diff --git a/images/n16iOGk.png b/docs/images/n16iOGk.png similarity index 100% rename from images/n16iOGk.png rename to docs/images/n16iOGk.png diff --git a/images/n41Azff.png b/docs/images/n41Azff.png similarity index 100% rename from images/n41Azff.png rename to docs/images/n41Azff.png diff --git a/images/requirements.png b/docs/images/requirements.png similarity index 100% rename from images/requirements.png rename to docs/images/requirements.png diff --git a/images/rgSrvjG.png b/docs/images/rgSrvjG.png similarity index 100% rename from images/rgSrvjG.png rename to docs/images/rgSrvjG.png diff --git a/images/screenshot.png b/docs/images/screenshot.png similarity index 100% rename from images/screenshot.png rename to docs/images/screenshot.png diff --git a/images/screenshot_gif.gif b/docs/images/screenshot_gif.gif similarity index 100% rename from images/screenshot_gif.gif rename to docs/images/screenshot_gif.gif diff --git a/images/wU8x5Id.png b/docs/images/wU8x5Id.png similarity index 100% rename from images/wU8x5Id.png rename to docs/images/wU8x5Id.png diff --git a/images/wXGqG5f.png b/docs/images/wXGqG5f.png similarity index 100% rename from images/wXGqG5f.png rename to docs/images/wXGqG5f.png diff --git a/images/yB5SYwm.png b/docs/images/yB5SYwm.png similarity index 100% rename from images/yB5SYwm.png rename to docs/images/yB5SYwm.png diff --git a/images/yzDrJtA.jpg b/docs/images/yzDrJtA.jpg similarity index 100% rename from images/yzDrJtA.jpg rename to docs/images/yzDrJtA.jpg diff --git a/images/zdCAkB3.png b/docs/images/zdCAkB3.png similarity index 100% rename from images/zdCAkB3.png rename to docs/images/zdCAkB3.png diff --git a/docs/index.html b/docs/index.html index 73b8bf7d..1d2e49c1 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,62 +1,11 @@ - - - - Language Selector - - - - -

🌍 Select Your Language

-

You will be redirected to the selected documentation language.

- - - -

- - - - - + + + + Redirecting... + + +

If you are not redirected automatically, click here.

+ diff --git a/docs/ja/README.md b/docs/ja/design-glance.md similarity index 100% rename from docs/ja/README.md rename to docs/ja/design-glance.md diff --git a/solutions/object_oriented_design/call_center/__init__.py b/docs/solutions/object_oriented_design/call_center/__init__.py similarity index 100% rename from solutions/object_oriented_design/call_center/__init__.py rename to docs/solutions/object_oriented_design/call_center/__init__.py diff --git a/solutions/object_oriented_design/call_center/call_center.ipynb b/docs/solutions/object_oriented_design/call_center/call_center.ipynb similarity index 100% rename from solutions/object_oriented_design/call_center/call_center.ipynb rename to docs/solutions/object_oriented_design/call_center/call_center.ipynb diff --git a/solutions/object_oriented_design/call_center/call_center.py b/docs/solutions/object_oriented_design/call_center/call_center.py similarity index 100% rename from solutions/object_oriented_design/call_center/call_center.py rename to docs/solutions/object_oriented_design/call_center/call_center.py diff --git a/solutions/object_oriented_design/call_center/tests/__init__.py b/docs/solutions/object_oriented_design/call_center/tests/__init__.py similarity index 100% rename from solutions/object_oriented_design/call_center/tests/__init__.py rename to docs/solutions/object_oriented_design/call_center/tests/__init__.py diff --git a/solutions/object_oriented_design/call_center/tests/test_call_center.py b/docs/solutions/object_oriented_design/call_center/tests/test_call_center.py similarity index 100% rename from solutions/object_oriented_design/call_center/tests/test_call_center.py rename to docs/solutions/object_oriented_design/call_center/tests/test_call_center.py diff --git a/solutions/object_oriented_design/circular_array/__init__.py b/docs/solutions/object_oriented_design/circular_array/__init__.py similarity index 100% rename from solutions/object_oriented_design/circular_array/__init__.py rename to docs/solutions/object_oriented_design/circular_array/__init__.py diff --git a/solutions/object_oriented_design/circular_array/circular_array.ipynb b/docs/solutions/object_oriented_design/circular_array/circular_array.ipynb similarity index 100% rename from solutions/object_oriented_design/circular_array/circular_array.ipynb rename to docs/solutions/object_oriented_design/circular_array/circular_array.ipynb diff --git a/solutions/object_oriented_design/circular_array/circular_array.py b/docs/solutions/object_oriented_design/circular_array/circular_array.py similarity index 100% rename from solutions/object_oriented_design/circular_array/circular_array.py rename to docs/solutions/object_oriented_design/circular_array/circular_array.py diff --git a/solutions/object_oriented_design/deck_of_cards/__init__.py b/docs/solutions/object_oriented_design/deck_of_cards/__init__.py similarity index 100% rename from solutions/object_oriented_design/deck_of_cards/__init__.py rename to docs/solutions/object_oriented_design/deck_of_cards/__init__.py diff --git a/solutions/object_oriented_design/deck_of_cards/deck_of_cards.ipynb b/docs/solutions/object_oriented_design/deck_of_cards/deck_of_cards.ipynb similarity index 100% rename from solutions/object_oriented_design/deck_of_cards/deck_of_cards.ipynb rename to docs/solutions/object_oriented_design/deck_of_cards/deck_of_cards.ipynb diff --git a/solutions/object_oriented_design/deck_of_cards/deck_of_cards.py b/docs/solutions/object_oriented_design/deck_of_cards/deck_of_cards.py similarity index 100% rename from solutions/object_oriented_design/deck_of_cards/deck_of_cards.py rename to docs/solutions/object_oriented_design/deck_of_cards/deck_of_cards.py diff --git a/solutions/object_oriented_design/hash_table/__init__.py b/docs/solutions/object_oriented_design/hash_table/__init__.py similarity index 100% rename from solutions/object_oriented_design/hash_table/__init__.py rename to docs/solutions/object_oriented_design/hash_table/__init__.py diff --git a/solutions/object_oriented_design/hash_table/hash_map.ipynb b/docs/solutions/object_oriented_design/hash_table/hash_map.ipynb similarity index 100% rename from solutions/object_oriented_design/hash_table/hash_map.ipynb rename to docs/solutions/object_oriented_design/hash_table/hash_map.ipynb diff --git a/solutions/object_oriented_design/hash_table/hash_map.py b/docs/solutions/object_oriented_design/hash_table/hash_map.py similarity index 100% rename from solutions/object_oriented_design/hash_table/hash_map.py rename to docs/solutions/object_oriented_design/hash_table/hash_map.py diff --git a/solutions/object_oriented_design/lru_cache/__init__.py b/docs/solutions/object_oriented_design/lru_cache/__init__.py similarity index 100% rename from solutions/object_oriented_design/lru_cache/__init__.py rename to docs/solutions/object_oriented_design/lru_cache/__init__.py diff --git a/solutions/object_oriented_design/lru_cache/lru_cache.ipynb b/docs/solutions/object_oriented_design/lru_cache/lru_cache.ipynb similarity index 100% rename from solutions/object_oriented_design/lru_cache/lru_cache.ipynb rename to docs/solutions/object_oriented_design/lru_cache/lru_cache.ipynb diff --git a/solutions/object_oriented_design/lru_cache/lru_cache.py b/docs/solutions/object_oriented_design/lru_cache/lru_cache.py similarity index 100% rename from solutions/object_oriented_design/lru_cache/lru_cache.py rename to docs/solutions/object_oriented_design/lru_cache/lru_cache.py diff --git a/solutions/object_oriented_design/movie_tickets/MovieTickets.java b/docs/solutions/object_oriented_design/movie_tickets/MovieTickets.java similarity index 100% rename from solutions/object_oriented_design/movie_tickets/MovieTickets.java rename to docs/solutions/object_oriented_design/movie_tickets/MovieTickets.java diff --git a/solutions/object_oriented_design/movie_tickets/README.md b/docs/solutions/object_oriented_design/movie_tickets/README.md similarity index 100% rename from solutions/object_oriented_design/movie_tickets/README.md rename to docs/solutions/object_oriented_design/movie_tickets/README.md diff --git a/solutions/object_oriented_design/online_chat/__init__.py b/docs/solutions/object_oriented_design/online_chat/__init__.py similarity index 100% rename from solutions/object_oriented_design/online_chat/__init__.py rename to docs/solutions/object_oriented_design/online_chat/__init__.py diff --git a/solutions/object_oriented_design/online_chat/online_chat.ipynb b/docs/solutions/object_oriented_design/online_chat/online_chat.ipynb similarity index 100% rename from solutions/object_oriented_design/online_chat/online_chat.ipynb rename to docs/solutions/object_oriented_design/online_chat/online_chat.ipynb diff --git a/solutions/object_oriented_design/online_chat/online_chat.py b/docs/solutions/object_oriented_design/online_chat/online_chat.py similarity index 100% rename from solutions/object_oriented_design/online_chat/online_chat.py rename to docs/solutions/object_oriented_design/online_chat/online_chat.py diff --git a/solutions/object_oriented_design/parking_lot/__init__.py b/docs/solutions/object_oriented_design/parking_lot/__init__.py similarity index 100% rename from solutions/object_oriented_design/parking_lot/__init__.py rename to docs/solutions/object_oriented_design/parking_lot/__init__.py diff --git a/solutions/object_oriented_design/parking_lot/parking_lot.ipynb b/docs/solutions/object_oriented_design/parking_lot/parking_lot.ipynb similarity index 100% rename from solutions/object_oriented_design/parking_lot/parking_lot.ipynb rename to docs/solutions/object_oriented_design/parking_lot/parking_lot.ipynb diff --git a/solutions/object_oriented_design/parking_lot/parking_lot.py b/docs/solutions/object_oriented_design/parking_lot/parking_lot.py similarity index 100% rename from solutions/object_oriented_design/parking_lot/parking_lot.py rename to docs/solutions/object_oriented_design/parking_lot/parking_lot.py diff --git a/solutions/system_design/mint/README-zh-Hans.md b/docs/solutions/system_design/mint/README-zh-Hans.md similarity index 100% rename from solutions/system_design/mint/README-zh-Hans.md rename to docs/solutions/system_design/mint/README-zh-Hans.md diff --git a/solutions/system_design/mint/README.md b/docs/solutions/system_design/mint/README.md similarity index 100% rename from solutions/system_design/mint/README.md rename to docs/solutions/system_design/mint/README.md diff --git a/solutions/system_design/mint/__init__.py b/docs/solutions/system_design/mint/__init__.py similarity index 100% rename from solutions/system_design/mint/__init__.py rename to docs/solutions/system_design/mint/__init__.py diff --git a/solutions/system_design/mint/mint.graffle b/docs/solutions/system_design/mint/mint.graffle similarity index 100% rename from solutions/system_design/mint/mint.graffle rename to docs/solutions/system_design/mint/mint.graffle diff --git a/solutions/system_design/mint/mint.png b/docs/solutions/system_design/mint/mint.png similarity index 100% rename from solutions/system_design/mint/mint.png rename to docs/solutions/system_design/mint/mint.png diff --git a/solutions/system_design/mint/mint_basic.graffle b/docs/solutions/system_design/mint/mint_basic.graffle similarity index 100% rename from solutions/system_design/mint/mint_basic.graffle rename to docs/solutions/system_design/mint/mint_basic.graffle diff --git a/solutions/system_design/mint/mint_basic.png b/docs/solutions/system_design/mint/mint_basic.png similarity index 100% rename from solutions/system_design/mint/mint_basic.png rename to docs/solutions/system_design/mint/mint_basic.png diff --git a/solutions/system_design/mint/mint_mapreduce.py b/docs/solutions/system_design/mint/mint_mapreduce.py similarity index 100% rename from solutions/system_design/mint/mint_mapreduce.py rename to docs/solutions/system_design/mint/mint_mapreduce.py diff --git a/solutions/system_design/mint/mint_snippets.py b/docs/solutions/system_design/mint/mint_snippets.py similarity index 100% rename from solutions/system_design/mint/mint_snippets.py rename to docs/solutions/system_design/mint/mint_snippets.py diff --git a/solutions/system_design/pastebin/README-zh-Hans.md b/docs/solutions/system_design/pastebin/README-zh-Hans.md similarity index 100% rename from solutions/system_design/pastebin/README-zh-Hans.md rename to docs/solutions/system_design/pastebin/README-zh-Hans.md diff --git a/solutions/system_design/pastebin/README.md b/docs/solutions/system_design/pastebin/README.md similarity index 100% rename from solutions/system_design/pastebin/README.md rename to docs/solutions/system_design/pastebin/README.md diff --git a/solutions/system_design/pastebin/__init__.py b/docs/solutions/system_design/pastebin/__init__.py similarity index 100% rename from solutions/system_design/pastebin/__init__.py rename to docs/solutions/system_design/pastebin/__init__.py diff --git a/solutions/system_design/pastebin/pastebin.graffle b/docs/solutions/system_design/pastebin/pastebin.graffle similarity index 100% rename from solutions/system_design/pastebin/pastebin.graffle rename to docs/solutions/system_design/pastebin/pastebin.graffle diff --git a/solutions/system_design/pastebin/pastebin.png b/docs/solutions/system_design/pastebin/pastebin.png similarity index 100% rename from solutions/system_design/pastebin/pastebin.png rename to docs/solutions/system_design/pastebin/pastebin.png diff --git a/solutions/system_design/pastebin/pastebin_basic.graffle b/docs/solutions/system_design/pastebin/pastebin_basic.graffle similarity index 100% rename from solutions/system_design/pastebin/pastebin_basic.graffle rename to docs/solutions/system_design/pastebin/pastebin_basic.graffle diff --git a/solutions/system_design/pastebin/pastebin_basic.png b/docs/solutions/system_design/pastebin/pastebin_basic.png similarity index 100% rename from solutions/system_design/pastebin/pastebin_basic.png rename to docs/solutions/system_design/pastebin/pastebin_basic.png diff --git a/solutions/system_design/query_cache/README-zh-Hans.md b/docs/solutions/system_design/query_cache/README-zh-Hans.md similarity index 100% rename from solutions/system_design/query_cache/README-zh-Hans.md rename to docs/solutions/system_design/query_cache/README-zh-Hans.md diff --git a/solutions/system_design/query_cache/README.md b/docs/solutions/system_design/query_cache/README.md similarity index 100% rename from solutions/system_design/query_cache/README.md rename to docs/solutions/system_design/query_cache/README.md diff --git a/solutions/system_design/query_cache/__init__.py b/docs/solutions/system_design/query_cache/__init__.py similarity index 100% rename from solutions/system_design/query_cache/__init__.py rename to docs/solutions/system_design/query_cache/__init__.py diff --git a/solutions/system_design/query_cache/query_cache.graffle b/docs/solutions/system_design/query_cache/query_cache.graffle similarity index 100% rename from solutions/system_design/query_cache/query_cache.graffle rename to docs/solutions/system_design/query_cache/query_cache.graffle diff --git a/solutions/system_design/query_cache/query_cache.png b/docs/solutions/system_design/query_cache/query_cache.png similarity index 100% rename from solutions/system_design/query_cache/query_cache.png rename to docs/solutions/system_design/query_cache/query_cache.png diff --git a/solutions/system_design/query_cache/query_cache_basic.graffle b/docs/solutions/system_design/query_cache/query_cache_basic.graffle similarity index 100% rename from solutions/system_design/query_cache/query_cache_basic.graffle rename to docs/solutions/system_design/query_cache/query_cache_basic.graffle diff --git a/solutions/system_design/query_cache/query_cache_basic.png b/docs/solutions/system_design/query_cache/query_cache_basic.png similarity index 100% rename from solutions/system_design/query_cache/query_cache_basic.png rename to docs/solutions/system_design/query_cache/query_cache_basic.png diff --git a/solutions/system_design/query_cache/query_cache_snippets.py b/docs/solutions/system_design/query_cache/query_cache_snippets.py similarity index 100% rename from solutions/system_design/query_cache/query_cache_snippets.py rename to docs/solutions/system_design/query_cache/query_cache_snippets.py diff --git a/solutions/system_design/sales_rank/README-zh-Hans.md b/docs/solutions/system_design/sales_rank/README-zh-Hans.md similarity index 100% rename from solutions/system_design/sales_rank/README-zh-Hans.md rename to docs/solutions/system_design/sales_rank/README-zh-Hans.md diff --git a/solutions/system_design/sales_rank/README.md b/docs/solutions/system_design/sales_rank/README.md similarity index 100% rename from solutions/system_design/sales_rank/README.md rename to docs/solutions/system_design/sales_rank/README.md diff --git a/solutions/system_design/sales_rank/__init__.py b/docs/solutions/system_design/sales_rank/__init__.py similarity index 100% rename from solutions/system_design/sales_rank/__init__.py rename to docs/solutions/system_design/sales_rank/__init__.py diff --git a/solutions/system_design/sales_rank/sales_rank.graffle b/docs/solutions/system_design/sales_rank/sales_rank.graffle similarity index 100% rename from solutions/system_design/sales_rank/sales_rank.graffle rename to docs/solutions/system_design/sales_rank/sales_rank.graffle diff --git a/solutions/system_design/sales_rank/sales_rank.png b/docs/solutions/system_design/sales_rank/sales_rank.png similarity index 100% rename from solutions/system_design/sales_rank/sales_rank.png rename to docs/solutions/system_design/sales_rank/sales_rank.png diff --git a/solutions/system_design/sales_rank/sales_rank_basic.graffle b/docs/solutions/system_design/sales_rank/sales_rank_basic.graffle similarity index 100% rename from solutions/system_design/sales_rank/sales_rank_basic.graffle rename to docs/solutions/system_design/sales_rank/sales_rank_basic.graffle diff --git a/solutions/system_design/sales_rank/sales_rank_basic.png b/docs/solutions/system_design/sales_rank/sales_rank_basic.png similarity index 100% rename from solutions/system_design/sales_rank/sales_rank_basic.png rename to docs/solutions/system_design/sales_rank/sales_rank_basic.png diff --git a/solutions/system_design/sales_rank/sales_rank_mapreduce.py b/docs/solutions/system_design/sales_rank/sales_rank_mapreduce.py similarity index 100% rename from solutions/system_design/sales_rank/sales_rank_mapreduce.py rename to docs/solutions/system_design/sales_rank/sales_rank_mapreduce.py diff --git a/solutions/system_design/scaling_aws/README-zh-Hans.md b/docs/solutions/system_design/scaling_aws/README-zh-Hans.md similarity index 100% rename from solutions/system_design/scaling_aws/README-zh-Hans.md rename to docs/solutions/system_design/scaling_aws/README-zh-Hans.md diff --git a/solutions/system_design/scaling_aws/README.md b/docs/solutions/system_design/scaling_aws/README.md similarity index 100% rename from solutions/system_design/scaling_aws/README.md rename to docs/solutions/system_design/scaling_aws/README.md diff --git a/solutions/system_design/scaling_aws/scaling_aws.graffle b/docs/solutions/system_design/scaling_aws/scaling_aws.graffle similarity index 100% rename from solutions/system_design/scaling_aws/scaling_aws.graffle rename to docs/solutions/system_design/scaling_aws/scaling_aws.graffle diff --git a/solutions/system_design/scaling_aws/scaling_aws.png b/docs/solutions/system_design/scaling_aws/scaling_aws.png similarity index 100% rename from solutions/system_design/scaling_aws/scaling_aws.png rename to docs/solutions/system_design/scaling_aws/scaling_aws.png diff --git a/solutions/system_design/scaling_aws/scaling_aws_1.png b/docs/solutions/system_design/scaling_aws/scaling_aws_1.png similarity index 100% rename from solutions/system_design/scaling_aws/scaling_aws_1.png rename to docs/solutions/system_design/scaling_aws/scaling_aws_1.png diff --git a/solutions/system_design/scaling_aws/scaling_aws_2.png b/docs/solutions/system_design/scaling_aws/scaling_aws_2.png similarity index 100% rename from solutions/system_design/scaling_aws/scaling_aws_2.png rename to docs/solutions/system_design/scaling_aws/scaling_aws_2.png diff --git a/solutions/system_design/scaling_aws/scaling_aws_3.png b/docs/solutions/system_design/scaling_aws/scaling_aws_3.png similarity index 100% rename from solutions/system_design/scaling_aws/scaling_aws_3.png rename to docs/solutions/system_design/scaling_aws/scaling_aws_3.png diff --git a/solutions/system_design/scaling_aws/scaling_aws_4.png b/docs/solutions/system_design/scaling_aws/scaling_aws_4.png similarity index 100% rename from solutions/system_design/scaling_aws/scaling_aws_4.png rename to docs/solutions/system_design/scaling_aws/scaling_aws_4.png diff --git a/solutions/system_design/scaling_aws/scaling_aws_5.png b/docs/solutions/system_design/scaling_aws/scaling_aws_5.png similarity index 100% rename from solutions/system_design/scaling_aws/scaling_aws_5.png rename to docs/solutions/system_design/scaling_aws/scaling_aws_5.png diff --git a/solutions/system_design/scaling_aws/scaling_aws_6.png b/docs/solutions/system_design/scaling_aws/scaling_aws_6.png similarity index 100% rename from solutions/system_design/scaling_aws/scaling_aws_6.png rename to docs/solutions/system_design/scaling_aws/scaling_aws_6.png diff --git a/solutions/system_design/scaling_aws/scaling_aws_7.png b/docs/solutions/system_design/scaling_aws/scaling_aws_7.png similarity index 100% rename from solutions/system_design/scaling_aws/scaling_aws_7.png rename to docs/solutions/system_design/scaling_aws/scaling_aws_7.png diff --git a/solutions/system_design/social_graph/README-zh-Hans.md b/docs/solutions/system_design/social_graph/README-zh-Hans.md similarity index 100% rename from solutions/system_design/social_graph/README-zh-Hans.md rename to docs/solutions/system_design/social_graph/README-zh-Hans.md diff --git a/solutions/system_design/social_graph/README.md b/docs/solutions/system_design/social_graph/README.md similarity index 100% rename from solutions/system_design/social_graph/README.md rename to docs/solutions/system_design/social_graph/README.md diff --git a/solutions/system_design/social_graph/__init__.py b/docs/solutions/system_design/social_graph/__init__.py similarity index 100% rename from solutions/system_design/social_graph/__init__.py rename to docs/solutions/system_design/social_graph/__init__.py diff --git a/solutions/system_design/social_graph/social_graph.graffle b/docs/solutions/system_design/social_graph/social_graph.graffle similarity index 100% rename from solutions/system_design/social_graph/social_graph.graffle rename to docs/solutions/system_design/social_graph/social_graph.graffle diff --git a/solutions/system_design/social_graph/social_graph.png b/docs/solutions/system_design/social_graph/social_graph.png similarity index 100% rename from solutions/system_design/social_graph/social_graph.png rename to docs/solutions/system_design/social_graph/social_graph.png diff --git a/solutions/system_design/social_graph/social_graph_basic.graffle b/docs/solutions/system_design/social_graph/social_graph_basic.graffle similarity index 100% rename from solutions/system_design/social_graph/social_graph_basic.graffle rename to docs/solutions/system_design/social_graph/social_graph_basic.graffle diff --git a/solutions/system_design/social_graph/social_graph_basic.png b/docs/solutions/system_design/social_graph/social_graph_basic.png similarity index 100% rename from solutions/system_design/social_graph/social_graph_basic.png rename to docs/solutions/system_design/social_graph/social_graph_basic.png diff --git a/solutions/system_design/social_graph/social_graph_snippets.py b/docs/solutions/system_design/social_graph/social_graph_snippets.py similarity index 100% rename from solutions/system_design/social_graph/social_graph_snippets.py rename to docs/solutions/system_design/social_graph/social_graph_snippets.py diff --git a/solutions/system_design/template/template.graffle b/docs/solutions/system_design/template/template.graffle similarity index 100% rename from solutions/system_design/template/template.graffle rename to docs/solutions/system_design/template/template.graffle diff --git a/solutions/system_design/twitter/README-zh-Hans.md b/docs/solutions/system_design/twitter/README-zh-Hans.md similarity index 100% rename from solutions/system_design/twitter/README-zh-Hans.md rename to docs/solutions/system_design/twitter/README-zh-Hans.md diff --git a/solutions/system_design/twitter/README.md b/docs/solutions/system_design/twitter/README.md similarity index 100% rename from solutions/system_design/twitter/README.md rename to docs/solutions/system_design/twitter/README.md diff --git a/solutions/system_design/twitter/twitter.graffle b/docs/solutions/system_design/twitter/twitter.graffle similarity index 100% rename from solutions/system_design/twitter/twitter.graffle rename to docs/solutions/system_design/twitter/twitter.graffle diff --git a/solutions/system_design/twitter/twitter.png b/docs/solutions/system_design/twitter/twitter.png similarity index 100% rename from solutions/system_design/twitter/twitter.png rename to docs/solutions/system_design/twitter/twitter.png diff --git a/solutions/system_design/twitter/twitter_basic.graffle b/docs/solutions/system_design/twitter/twitter_basic.graffle similarity index 100% rename from solutions/system_design/twitter/twitter_basic.graffle rename to docs/solutions/system_design/twitter/twitter_basic.graffle diff --git a/solutions/system_design/twitter/twitter_basic.png b/docs/solutions/system_design/twitter/twitter_basic.png similarity index 100% rename from solutions/system_design/twitter/twitter_basic.png rename to docs/solutions/system_design/twitter/twitter_basic.png diff --git a/solutions/system_design/url_shortener/README.md b/docs/solutions/system_design/url_shortener/README.md similarity index 100% rename from solutions/system_design/url_shortener/README.md rename to docs/solutions/system_design/url_shortener/README.md diff --git a/solutions/system_design/web_crawler/README-zh-Hans.md b/docs/solutions/system_design/web_crawler/README-zh-Hans.md similarity index 100% rename from solutions/system_design/web_crawler/README-zh-Hans.md rename to docs/solutions/system_design/web_crawler/README-zh-Hans.md diff --git a/solutions/system_design/web_crawler/README.md b/docs/solutions/system_design/web_crawler/README.md similarity index 100% rename from solutions/system_design/web_crawler/README.md rename to docs/solutions/system_design/web_crawler/README.md diff --git a/solutions/system_design/web_crawler/__init__.py b/docs/solutions/system_design/web_crawler/__init__.py similarity index 100% rename from solutions/system_design/web_crawler/__init__.py rename to docs/solutions/system_design/web_crawler/__init__.py diff --git a/solutions/system_design/web_crawler/web_crawler.graffle b/docs/solutions/system_design/web_crawler/web_crawler.graffle similarity index 100% rename from solutions/system_design/web_crawler/web_crawler.graffle rename to docs/solutions/system_design/web_crawler/web_crawler.graffle diff --git a/solutions/system_design/web_crawler/web_crawler.png b/docs/solutions/system_design/web_crawler/web_crawler.png similarity index 100% rename from solutions/system_design/web_crawler/web_crawler.png rename to docs/solutions/system_design/web_crawler/web_crawler.png diff --git a/solutions/system_design/web_crawler/web_crawler_basic.graffle b/docs/solutions/system_design/web_crawler/web_crawler_basic.graffle similarity index 100% rename from solutions/system_design/web_crawler/web_crawler_basic.graffle rename to docs/solutions/system_design/web_crawler/web_crawler_basic.graffle diff --git a/solutions/system_design/web_crawler/web_crawler_basic.png b/docs/solutions/system_design/web_crawler/web_crawler_basic.png similarity index 100% rename from solutions/system_design/web_crawler/web_crawler_basic.png rename to docs/solutions/system_design/web_crawler/web_crawler_basic.png diff --git a/solutions/system_design/web_crawler/web_crawler_mapreduce.py b/docs/solutions/system_design/web_crawler/web_crawler_mapreduce.py similarity index 100% rename from solutions/system_design/web_crawler/web_crawler_mapreduce.py rename to docs/solutions/system_design/web_crawler/web_crawler_mapreduce.py diff --git a/solutions/system_design/web_crawler/web_crawler_snippets.py b/docs/solutions/system_design/web_crawler/web_crawler_snippets.py similarity index 100% rename from solutions/system_design/web_crawler/web_crawler_snippets.py rename to docs/solutions/system_design/web_crawler/web_crawler_snippets.py diff --git a/docs/tr/README.md b/docs/tr/design-glance.md similarity index 100% rename from docs/tr/README.md rename to docs/tr/design-glance.md diff --git a/docs/zh-Hant/README.md b/docs/zh-Hant/design-glance.md similarity index 100% rename from docs/zh-Hant/README.md rename to docs/zh-Hant/design-glance.md diff --git a/docs/zh/README.md b/docs/zh/design-glance.md similarity index 100% rename from docs/zh/README.md rename to docs/zh/design-glance.md diff --git a/mkdocs.yml b/mkdocs.yml index bae8e9a9..3e9c35b2 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -16,8 +16,7 @@ plugins: default_language: en languages: en: English - zh: 简体中文 - zh-Hant: 繁體中文 + markdown_extensions: - admonition @@ -33,4 +32,33 @@ markdown_extensions: - pymdownx.tabbed - pymdownx.tasklist - toc: - permalink: true \ No newline at end of file + permalink: true + + + +nav: + - Home: en/index.md + - About: https://github.com/ido777/system-design-primer-update/blob/main/README.md + - Contributing: https://github.com/ido777/system-design-primer-update/blob/main/CONTRIBUTING.md + - License: https://github.com/ido777/system-design-primer-update/blob/main/LICENSE.md + - Changelog: https://github.com/ido777/system-design-primer-update/blob/main/CHANGELOG.md + + - English: + - Overview: en/index.md + - Start Here: en/study_guide.md + - System Design at a Glance: en/design-glance.md + + - 简体中文 (Simplified Chinese): + - 简体中文主页: zh/design-glance.md + + - 繁體中文 (Traditional Chinese): + - 繁體中文首頁: zh-Hant/design-glance.md + + - العربية (Arabic): + - الصفحة الرئيسية: ar/design-glance.md + + - 日本語 (Japanese): + - 日本語のホーム: ja/design-glance.md + + - Türkçe (Turkish): + - Türkçe Anasayfa: tr/design-glance.md