# Learning Path

> Personal, structured, spaced-repetition-friendly curriculum aimed at a Senior Blockchain + Full-Stack Node.js developer bar. Every topic follows the same shape so the muscle memory of "where do I find the interview questions for this?" is always the same answer.

**Open [`index.html`](./index.html) in a browser for the full visual dashboard** — categories, progress tracking, roadmaps, and a link into every module.

---

## How this is organised

```
D:\Learning-Path\
├── index.html                      ← Global dashboard (start here)
├── README.md                       ← This file
├── _assets/                        ← Shared CSS/JS + templates + STANDARD.md
│
├── Blockchain/                     ← (Phase 2/3 — Solidity, EVM, ERC standards, DeFi, RWA)
├── BE Frameworks/                  ← Node.js, .NET, Spring Boot   (well populated)
├── FE Frameworks/                  ← React, Angular                (Phase 4)
├── Databases and DB management/    ← SQL, NoSQL                    (well populated)
├── Devops/                         ← Docker, K8s, CI/CD, cloud, IaC (well populated)
├── Languages/                      ← TypeScript, JS, Java, C#, Rust (Phase 4)
├── Javascript Data Structures and Data Types/  ← 63 coding tasks   (well populated)
├── Mobile Developments/            ← React Native                  (Phase 4)
├── Technologies and Best Practices Architectures/  ← Patterns, Microservices (Phase 4)
├── Interview Prep/                 ← System design, behavioural
│
└── TEMPLATE-topic/                 ← Reference implementation of the standard
```

Every topic (`<Category>/<Topic>/`) follows this shape:

```
<Topic>/
├── README.md                 ← Topic overview
├── index.html                ← Topic dashboard (progress + tabs + roadmap)
├── 01-Basics/
│   ├── README.md             ← Level intro
│   ├── 01-<Module>/
│   │   ├── README.md         ← The lesson
│   │   ├── lesson.html       ← Beautiful renderer + syntax highlighting + diagrams
│   │   ├── cheatsheet.md     ← 1-screen rapid recall
│   │   ├── interview.md      ← Q/A tagged easy/mid/hard
│   │   └── Tasks/            ← Hands-on practice
│   └── 02-<Module>/…
├── 02-Intermediate/…
└── 03-Advanced/…
```

The full contract is in [`_assets/STANDARD.md`](./_assets/STANDARD.md). A working example lives in [`TEMPLATE-topic/`](./TEMPLATE-topic/).

---

## Running the dashboard

Every page works by double-clicking (`file://`) — no server needed. Each `lesson.html` carries an embedded copy of its Markdown, because browsers block `fetch()` of local files.

**After editing any `.md` file, re-embed it** so the change shows when opening from disk:

```powershell
# From D:\Learning-Path\
node _assets/generators/inline-md.mjs
```

If you'd rather not re-run it, serve the folder instead — over HTTP the pages fetch the live `.md` files, so edits show immediately:

```powershell
python -m http.server 8000   # then visit http://localhost:8000/
```

Progress is stored in your browser's localStorage keyed by `module:<topic-slug>:<level-id>:<module-id>` — clearing site data resets it. Note that `file://` and `http://localhost` keep separate progress.

**Rebuilding / adding content:** run `node _assets/generators/build.mjs`. To add a category or topic, write a manifest — see [`_assets/generators/README.md`](./_assets/generators/README.md) for the schema and the full pipeline.

---

## Content status

| Category                | Topics                                       | Modules | HTML dashboards | Lesson content |
| :---------------------- | :------------------------------------------- | ------: | :-------------: | :------------- |
| **Blockchain**          | 14 (Solidity, ERC-20/721/1155, EVM, Security, Hardhat, Foundry, ethers, L2, X-chain, DeFi, RWA, Crypto) | 96 | ✅ full | ✅ written + study guides |
| **BE Frameworks**       | Node.js, .NET, Spring Boot                   | 41 | ✅ full | ✅ pre-existing |
| **Databases**           | SQL, NoSQL                                   | 30 | ✅ full | ✅ pre-existing |
| **DevOps**              | Basics / Intermediate / Advanced             | 15 | ✅ full | ✅ pre-existing |
| **JS DSA**              | 13 concept groups                            | 63 | ✅ full | ✅ pre-existing (`.js` files) |
| **FE Frameworks**       | React, Angular                               | 32 | ✅ full | ✅ pre-existing |
| **Languages**           | TypeScript, JS, C#, Java, Rust, Haskell     | 131 | ✅ full | ✅ pre-existing |
| **Mobile**              | React Native                                 | 23 | ✅ full | ✅ pre-existing |
| **Architectures**       | Algorithms, Design Patterns, Microservices  | 44 | ✅ full | ✅ pre-existing |
| **Interview Prep**      | Jeneva Job (10 topic briefings + Project)   | 14 | ✅ full | ✅ pre-existing (`.md` briefings) |
| **Concurrency & Parallelism** *(new)* | Fundamentals, JS/Node, Go, Java/JVM, Rust, Distributed | 41 | ✅ full | ✅ written + study guides |
| **Cybersecurity** *(new)* | OWASP Top 10, Web App Sec, Auth, Authz, Crypto, Threat Modeling, Secure Coding, API Sec, DevSecOps, Network Sec | 61 | ✅ full | ✅ written + study guides |
| **System Design** *(new)* | Fundamentals, Data at Scale, Caching, Queues/Streaming, API Design, Load Balancing, Consensus, Case Studies | 45 | ✅ full | ✅ written + study guides |
| **Observability & Reliability** *(new)* | Metrics, Logging, Tracing, SLOs, Chaos Engineering, On-Call | 28 | ✅ full | ✅ written + study guides |
| **AI Engineering** *(new)* | LLM Patterns, RAG, Vector DBs, Agents, Fine-tuning, MLOps, Multimodal, AI Safety | 39 | ✅ full | ✅ written + study guides |
| **Testing** *(new)* | Fundamentals, TDD/BDD, Mocking, Property-based, Mutation, Load/Perf, E2E, Contract | 34 | ✅ full | ✅ written + study guides |
| **Requirements & Product** *(new)* | Requirements, User Stories, Discovery, Estimation, Prioritization, Metrics | 30 | ✅ full | ✅ written + study guides |
| **Software Architecture** *(new)* | Fundamentals, DDD, Clean/Hexagonal, Styles, Documenting (C4/ADR), Evolutionary | 32 | ✅ full | ✅ written + study guides |
| **CS Fundamentals** *(new)* | Operating Systems, Networking, Browsers, Database Internals, Compilers, Computer Architecture | 31 | ✅ full | ✅ written + study guides |
| **Release Engineering** *(new)* | Version Control, CI/CD, Versioning & Releases, Kubernetes, Cloud Architecture, Platform Engineering | 31 | ✅ full | ✅ written + study guides |
| **Maintenance & Evolution** *(new)* | Code Review, Refactoring, Legacy, Tech Debt, Zero-Downtime Changes, Dependencies | 30 | ✅ full | ✅ written + study guides |
| **Data Engineering** *(new)* | Fundamentals, Modeling, Warehouses/Lakehouses, Orchestration, Streaming & CDC, Quality | 30 | ✅ full | ✅ written + study guides |
| **Performance Engineering** *(new)* | Fundamentals, Profiling, Benchmarking, Frontend, Backend & DB, Capacity Planning | 30 | ✅ full | ✅ written + study guides |
| **Web Platform & UX** *(new)* | Accessibility, i18n, Rendering Strategies, Web Standards, Design Systems, CSS Architecture | 30 | ✅ full | ✅ written + study guides |
| **Engineering Leadership** *(new)* | Agile, Metrics, Tech Leadership, Writing, Mentoring, Staff Path, Team Design | 35 | ✅ full | ✅ written + study guides |
| **Compliance, Privacy & Cost** *(new)* | Data Privacy, SOC 2/ISO 27001/PCI, Licensing, FinOps, AI Governance | 25 | ✅ full | ✅ written + study guides |
| *New tracks in existing categories* | Go, Python (Languages) · NestJS (BE) · Next.js (FE) · PostgreSQL, Redis, Elasticsearch (Databases) | 45 | ✅ full | ✅ written + study guides |
| **Total**               | 26 categories                                | **1,025 lessons** |               |                |

Every category has a **category-level `index.html`**, every topic has a **topic dashboard** with tabbed levels, and every module has a **`lesson.html`** that renders the Lesson / Cheatsheet / Interview Qs / Tasks tabs from its `.md` files. No page returns 404 or a raw directory listing.

**Authoring status:** every lesson is written — a 1,000–1,600-word lesson, a one-screen cheatsheet, and 6–8 interview questions per module — and every new topic has a study guide with curated canonical resources. Shared authoring rules live in `_assets/generators/AUTHORING-BRIEF.md`. Code examples were reviewed but mostly not compiled or executed (some Node.js and Python examples were run); invented numbers, names and sample output are labelled illustrative. The pre-existing categories (BE Frameworks, Databases, DevOps, Languages, FE Frameworks, Mobile, Architectures, JS DSA, Interview Prep) keep their original content; their original topics do not yet have study-guide pages.

---

## Recommended sequence (Senior Blockchain + Node.js)

```
Foundation:  JS Deep Dives  →  TypeScript  →  Node.js Backends  →  SQL + NoSQL  →  Docker / K8s
Blockchain:  Solidity  →  ERC-20 / 721 / 1155  →  Security  →  Hardhat + Foundry  →  L2 + Cross-chain  →  RWA / DeFi
```

Or:

**Path 1 — Full-Stack Node.js first (5–6 months)**
1. TypeScript refresh (2 wk)
2. Node.js backends deep-dive (6 wk)
3. Databases: SQL + NoSQL (4 wk)
4. React + system design (6 wk)
5. DevOps: Docker → K8s (4 wk)

**Path 2 — Blockchain-specialist track (4–6 months)**
1. Solidity fundamentals (3 wk)
2. ERC-20 → 721 → 1155 (3 wk)
3. Smart Contract Security (4 wk)
4. Hardhat / Foundry / Ethers (3 wk)
5. Layer 2, Cross-chain, RWA (4 wk)
6. Interview / capstone project (2 wk)

**Path 3 — Combined senior bar (7–9 months)**
Path 1 in parallel with Path 2 modules 1–3, finishing with a capstone that integrates a React frontend + Node.js backend + Solidity smart contracts.

---

## Adding new content

To add a topic:
1. Copy `TEMPLATE-topic/` into the target category folder, rename it.
2. Update `<NewTopic>/index.html` — the `TOPIC_SLUG` and `TOPIC_DATA.levels` block.
3. For each module, copy `_assets/lesson.html.template` into the module folder as `lesson.html` and fill the four `{{...}}` placeholders.
4. Write the module's `README.md`, `cheatsheet.md`, `interview.md`, and `Tasks/*.md`.
5. Update the root `index.html` `CATEGORIES` array so the new topic's count is reflected in the global dashboard.

Full recipe: [`_assets/STANDARD.md`](./_assets/STANDARD.md).

---

## Tips for using the material

1. **Consistency > intensity** — one hour daily beats seven hours on Sunday.
2. **Type every snippet** — no paste. If it hurts, that's the muscle building.
3. **Debug actively** — understand each error before Googling it away.
4. **Finish before switching** — complete every module in a topic before starting the next.
5. **Interview questions ARE the review** — re-reading `interview.md` files is your spaced repetition.
6. **Build one integrative project per tier** — a small deliverable per level pins the concepts.
