Skip to content

Commit b254e87

Browse files
sridhar-3009claude
andcommitted
Initial commit: DBMS Illustrated — complete interactive course
12 topic pages with Canvas 2D demos, Three.js hero, dark/light theme, MCQ quiz system, Q&A accordions, and zero npm dependencies. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
0 parents  commit b254e87

17 files changed

Lines changed: 5411 additions & 0 deletions

README.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# DBMS Illustrated
2+
3+
An interactive, animated course on Database Management Systems. Zero frameworks — pure HTML, CSS, and JavaScript, with Three.js (CDN) for the hero animation only.
4+
5+
Live: [sridhar-3009.github.io/DBMS-Course](https://sridhar-3009.github.io/DBMS-Course)
6+
7+
---
8+
9+
## Topics
10+
11+
| # | Topic | Demo | Color |
12+
|---|-------|------|-------|
13+
| 01 | [Introduction to DBMS](topics/01-intro.html) | ER Diagram Builder | `#0EA5E9` |
14+
| 02 | [Relational Model](topics/02-relational-model.html) | JOIN Visualizer | `#8B5CF6` |
15+
| 03 | [SQL](topics/03-sql.html) | SQL Query Visualizer | `#10B981` |
16+
| 04 | [Normalization](topics/04-normalization.html) | 1NF → 2NF → 3NF Animator | `#F59E0B` |
17+
| 05 | [Transactions & ACID](topics/05-transactions.html) | Isolation Level Simulator | `#EF4444` |
18+
| 06 | [Indexing](topics/06-indexing.html) | B+ Tree Traversal | `#06B6D4` |
19+
| 07 | [Query Processing](topics/07-query-processing.html) | Query Plan Tree | `#3B82F6` |
20+
| 08 | [Concurrency Control](topics/08-concurrency.html) | 2PL Deadlock Detector | `#EC4899` |
21+
| 09 | [Storage Engines](topics/09-storage-engines.html) | Page/Block Storage | `#F97316` |
22+
| 10 | [NoSQL Databases](topics/10-nosql.html) | NoSQL Comparison | `#84CC16` |
23+
| 11 | [Distributed Databases](topics/11-distributed-databases.html) | Raft Consensus Simulation | `#A855F7` |
24+
| 12 | [Interview Guide](topics/12-interview-guide.html) | Schema Designer | `#14B8A6` |
25+
26+
---
27+
28+
## Run Locally
29+
30+
```bash
31+
git clone git@github.com:sridhar-3009/DBMS-Course.git
32+
cd DBMS-Course
33+
python3 -m http.server 8080
34+
```
35+
36+
Open [http://localhost:8080](http://localhost:8080).
37+
38+
No build step, no npm install, no dependencies.
39+
40+
---
41+
42+
## File Structure
43+
44+
```
45+
DBMS-Course/
46+
├── index.html # Home page with Three.js hero + 12-card grid
47+
├── css/
48+
│ └── style.css # Full design system (CSS custom props, dark/light)
49+
├── js/
50+
│ ├── main.js # Theme toggle, scroll progress, quiz, Q&A, Three.js hero
51+
│ └── demos.js # All 12 Canvas 2D interactive demos
52+
└── topics/
53+
├── 01-intro.html
54+
├── 02-relational-model.html
55+
├── 03-sql.html
56+
├── 04-normalization.html
57+
├── 05-transactions.html
58+
├── 06-indexing.html
59+
├── 07-query-processing.html
60+
├── 08-concurrency.html
61+
├── 09-storage-engines.html
62+
├── 10-nosql.html
63+
├── 11-distributed-databases.html
64+
└── 12-interview-guide.html
65+
```
66+
67+
---
68+
69+
## Contributing
70+
71+
1. Fork and clone.
72+
2. Pick a topic page or open a GitHub Issue.
73+
3. Keep the style: vanilla JS only, Canvas 2D for demos, no npm.
74+
4. Test with `python3 -m http.server` — no bundler needed.
75+
5. Open a PR with a screenshot of the demo.
76+
77+
### Code Style
78+
79+
- **No frameworks.** Not React, Vue, Angular, Svelte — nothing.
80+
- **No npm.** Not even a `package.json`. The only CDN load is Three.js r160 on `index.html`.
81+
- **Canvas 2D** for all demos via the `mkCanvas()` helper in `demos.js`.
82+
- **Theme-aware** — all canvas renders call `TC()` for colors; call the render fn on `body[data-theme]` changes.
83+
- **CSS custom props**`--topic-color` per page, global design tokens in `:root`.
84+
85+
---
86+
87+
## Stats
88+
89+
- 12 topics
90+
- 12 interactive Canvas demos
91+
- 36+ MCQ quiz questions
92+
- 60+ Q&A accordion entries
93+
- 0 npm dependencies

0 commit comments

Comments
 (0)