An open API service indexing awesome lists of open source software.

https://github.com/fresult/just-systems-design

This repository is created for studying the Systems Design from AlgoExpert.io purpose.
https://github.com/fresult/just-systems-design

Last synced: 3 months ago
JSON representation

This repository is created for studying the Systems Design from AlgoExpert.io purpose.

Awesome Lists containing this project

README

        

# Just Systems Design

This repository is created for studying the Systems Design from AlgoExpert.io purpose.

## Prerequisites

- [Node](https://nodejs.org/en/download)
- [PNPM](https://pnpm.io/installation)
- [NGINX](https://nginx.org/en/download.html) (For the example of [\[9. Proxies\]](./09-proxies), and [\[10. Load Balancers\]](./10_load-balancers))
- [PostgreSQL](https://www.postgresql.org/download) (For the example of [\[12. Relational Databases\]](./12_relational_databases))
- [Redis Stack](https://redis.io/docs/latest/operate/oss_and_stack/install/install-stack) (For the example of [\[13. Key-Value Store\]](./13_key-value-stores))
- [Etcd](https://etcd.io) (For the example of [\[16. Leader Election\]](./16_leader-election))

## Available Scripts

**Install necessary packages:**

```bash
pnpm install
```

**Run codes, commands, or servers:**

> See it in the content below.

## Table of Code Example

1. Introduction (No example)
2. What Are Design Fundamental? (No example)
3. Client–Server Model (No example)
4. [Network Protocols](./04_network-protocols)
5. [Storage](./05_storage)
6. Latency vs. Throughput (No example)
7. Availability (No example)
8. [Caching](./08_caching)
9. [Proxies](./09-proxies)
10. [Load Balancers](./10_load-balancers)
11. [Hashing](./11_hashing)
12. [Relational Databases](./12_relational_databases)
13. [Key–Value Stores](./13_key-value-stores)
14. [Specialized Storage Paradigms](./14_specialized-storage-paradigms)
15. [Replication And Sharding](./15_replication-n-sharding)
16. [Leader Election](./16_leader-election)
17. Peer-To-Peer Networks (No example)
18. [Polling and Streaming](./18_polling-n-streaming)
19. Configuration (No example)
20. [Rate Limiting](./20_rate-limiting)
21. Logging and Monitoring (No Example)
22. [Publisher/Subscriber Pattern](./22_publisher-subscriber-pattern)
23. [MapReduce](./23_map-reduce)
24. [Security and HTTPS](./24_security-n-https)
25. [API Design](./25_api-design)

### Systems Design Examples

1. [Design Code-Deployment System](./exercises/01_design-code-deployment-system)
2. [Design AlgoExpert](./exercises/02_design-algoexpert)
3. [Design Stockbroker](./exercises/03_design-stockbroker)
4. [Design Amazon](./exercises/04_design-amazon)
5. [Design Reddit API](./exercises/05_design-reddit-api)
6. [Design Facebook News Feed](./exercises/06_design-facebook-news-feed)
7. [Design Google Drive](./exercises/07_design-google-drive)
8. [Design Netflix](./exercises/08_design-netflix)
9. [Design The Uber API](./exercises/09_design-uber)
10. [Design Tinder](./exercises/10_design-tinder)
11. [Design Slack](./exercises/11_design-slack)
12. [Design Airbnb](./exercises/12_design-airbnb)
13. [Design Twitch API](./exercises/13_design-twitch-api)