Skip to content

Commit 95aa558

Browse files
sridhar-3009claude
andcommitted
docs: add README with contribution guide
Covers local setup, project structure, contributing areas (demos, topics, accessibility, performance), code style rules, and MIT license. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent a546bf0 commit 95aa558

1 file changed

Lines changed: 98 additions & 0 deletions

File tree

README.md

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# System Design Illustrated
2+
3+
An interactive, animated course covering 12 core system design topics — built with pure HTML, CSS, and JavaScript. No frameworks. No build step. Just open a browser.
4+
5+
**Live site → https://sridhar-3009.github.io/System-Design-Course/**
6+
7+
---
8+
9+
## What's inside
10+
11+
| # | Topic | Interactive Demo |
12+
|---|-------|-----------------|
13+
| 01 | Fundamentals of Scale | Scaling Simulator |
14+
| 02 | CAP Theorem | Partition Simulator |
15+
| 03 | Consistency & Availability Patterns | Consistency Model Visualiser |
16+
| 04 | DNS & CDN | CDN Edge Cache Routing |
17+
| 05 | Load Balancers & Reverse Proxies | Load Balancer Strategies |
18+
| 06 | Caching | Cache Hit/Miss Visualiser |
19+
| 07 | Databases Deep Dive | Replication Modes |
20+
| 08 | Async Processing & Messaging | Message Queue Producer/Consumer |
21+
| 09 | Communication Protocols | REST vs WebSocket Overhead |
22+
| 10 | Microservices Architecture | Circuit Breaker Simulator |
23+
| 11 | Security Essentials | Rate Limiter |
24+
| 12 | Interview Guide | Back-of-Envelope Estimator |
25+
26+
Each topic includes: concept breakdown, diagrams, live quiz, Q&A accordion, anti-patterns, and a Canvas-based interactive demo.
27+
28+
---
29+
30+
## Run locally
31+
32+
```bash
33+
git clone https://github.com/sridhar-3009/System-Design-Course.git
34+
cd System-Design-Course
35+
python3 -m http.server 8080
36+
# open http://localhost:8080
37+
```
38+
39+
No npm, no build, no dependencies (Three.js loads from CDN for the hero animation).
40+
41+
---
42+
43+
## Contributing
44+
45+
Contributions are welcome. Here are areas where help is most valuable:
46+
47+
### Good first issues
48+
- Fix typos or improve explanations in any topic HTML
49+
- Add a missing real-world company example to a topic
50+
- Improve mobile layout on a specific page
51+
- Add a new quiz question to a topic
52+
53+
### Bigger contributions
54+
- **New interactive demo** — each topic has a `#demo-*` div; add a Canvas 2D demo following the pattern in `js/demos.js`
55+
- **New topic** — create a new `topics/NN-topic-name.html` following the structure of an existing page
56+
- **Accessibility** — improve ARIA labels, keyboard navigation, contrast ratios
57+
- **Performance** — the hero Three.js scene can be optimised for low-end devices
58+
59+
### How to contribute
60+
61+
1. Fork the repo
62+
2. Create a branch: `git checkout -b feature/your-improvement`
63+
3. Make changes — run locally with `python3 -m http.server` to test
64+
4. Open a pull request with a short description of what changed and why
65+
66+
### Code style
67+
- Vanilla HTML/CSS/JS only — no frameworks, no build step
68+
- Canvas demos live in `js/demos.js` as self-contained `init*()` functions
69+
- CSS custom properties for theming (`--primary`, `--topic-color`, etc.)
70+
- Dark-first theme; light mode via `[data-theme="light"]` overrides
71+
72+
### What not to add
73+
- npm dependencies or a build pipeline
74+
- Framework rewrites (React, Vue, etc.)
75+
- AI-generated content that hasn't been fact-checked
76+
77+
---
78+
79+
## Structure
80+
81+
```
82+
/
83+
├── index.html # Course home + 3D hero (Three.js)
84+
├── css/style.css # All styles — dark theme, components, demos
85+
├── js/
86+
│ ├── main.js # Theme, quiz, Q&A, 3D hero animation
87+
│ └── demos.js # 12 interactive Canvas demos
88+
└── topics/
89+
├── 01-fundamentals.html
90+
├── 02-cap-theorem.html
91+
└── ... (12 total)
92+
```
93+
94+
---
95+
96+
## License
97+
98+
MIT — free to use, fork, and build on.

0 commit comments

Comments
 (0)