Skip to content

Repository files navigation

Rust.Stack — A 0–100, linear, project-based Rust learning sandbox for beginners

🦀 Rust.Stack

A self-contained, offline-friendly, 0-to-100 modular Rust learning sandbox.

Rust CI Status License: MIT 101 Modules 10 Capstones PRs Welcome

Rust.Stack takes you from zero Rust knowledge to job-ready across every major Rust specialization — backend, async/infra, systems/embedded, CLI/networking, WASM/frontend, game dev, blockchain — and finishes with interview and portfolio readiness.

Built for programmers comfortable with general programming concepts in some language (Python, JS, Java, C++, etc.) but with zero Rust experience. No website. No toolchain wizard. No build step. git clone and go.


📚 Table of Contents


✨ What Makes This Different

🧵 Strictly linear Module 000 → Module 100, in order. No branching, no choice paralysis. Every specialization gets a full 10-module block in sequence.
🛠️ 100% hands-on Every module ships with a broken/incomplete Cargo crate. You fix it until cargo test passes. Every 10th module is a larger capstone project.
👁️ Solutions are visible Every module has a solutions/ folder with the reference implementation, sitting alongside the exercise. No paywalls, no spoiler tags.
🏗️ Idiomatic & production-grade ?, iterators, thiserror, anyhow, current-edition idioms throughout. rustfmt and clippy clean.
📴 Runs offline Once dependencies are cached, everything — READMEs, exercises, solutions — works without internet.
🎯 Interview-ready finish The final block covers DSA in Rust, system design, mock interviews, open source contribution, and portfolio building. Capstone 10 is a deliberate portfolio piece.

🗺️ Curriculum at a Glance

92 modules + 10 capstones, organized into 10 blocks:

Block Modules Focus
A 001–009 Variables, ownership, borrowing, structs, enums, modules
B 011–019 Collections, error handling, generics, traits, lifetimes, testing
C 021–029 Closures, iterators, pattern matching, trait objects, smart pointers
D 031–039 Threads, Mutex/Arc, channels, unsafe Rust, macros, Cargo
E 041–049 Tokio runtime, async I/O, streams, pinning, structured concurrency
F 051–059 Memory layout, FFI, profiling, benchmarking, SIMD, embedded
G 061–069 Axum, REST APIs, sqlx, JWT auth, middleware, Actix-web, Docker
H 071–079 clap, ratatui, TCP/UDP, gRPC, message queues, distributed systems
I 081–089 WebAssembly, Leptos, Bevy ECS, embedded revisited, smart contracts
J 091–100 DSA in Rust, system design, mock interviews, portfolio, open source

Each block ends with a capstone project. Capstone 10 is a full-stack Rust job-ready project — the thing you point to in applications.


🏆 Capstones

# Project Key Tech
01 Contact Book CLI Structs Enums Ownership
02 Inventory Management CLI Collections Errors JSON
03 In-Memory Graph Library Trait Objects Iterators Smart Pointers
04 Multithreaded Log Processor Threads Channels Macros
05 Concurrent Rate-Limited Web Crawler Tokio Channels Select!
06 Benchmarked Data Processing Library Criterion SIMD Optimization
07 Task Management API Axum sqlx JWT Docker
08 Distributed Key-Value Store gRPC Clap Replication
09 2D Game Compiled to WebAssembly Bevy wasm--pack
10 Full-Stack Rust Job-Ready Project Axum WASM Portfolio

⚡ Quick Start

# 1. Install Rust (if you haven't already)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# 2. Clone and enter the repo
git clone https://github.com/Amogh-007-Rin/RUST.STACK.git
cd RUST.STACK

# 3. Build everything (optional — verifies your setup works)
cargo check --workspace

# 4. Start at Module 000
cat modules/module-000-orientation/README.md

Tip

Estimated completion time: 3–6 months at ~10 hours/week, assuming you work through every module and capstone.


📋 Prerequisites

  • 🦀 Rust via rustup — stable toolchain, pinned by rust-toolchain.toml
  • 🧩 rust-analyzer — recommended: VS Code with the rust-analyzer extension
  • 🔧 Git
  • 🧠 Familiarity with programming fundamentals in any language (variables, functions, loops, basic data structures)

Note

Everything installs from the internet once; after that, all content, examples, and exercises are fully offline.

📄 See docs/SETUP.md for detailed setup instructions.


📖 How to Use This Repo

The curriculum is strictly linear: Module 000 → Module 100, with a capstone project at the end of every 10-module block.

🧩 Module Workflow

modules/module-042-the-tokio-runtime/
├── README.md          ← Read this first. Teaches the concept from scratch.
├── exercises/         ← Broken/incomplete code. Your job: fix it.
│   ├── Cargo.toml
│   ├── src/lib.rs     ← Contains // TODO(module-042): ... comments
│   └── tests/         ← Tests define "done"
└── solutions/         ← Reference implementation. Peek when stuck.
    ├── Cargo.toml
    ├── src/lib.rs
    └── tests/         ← Identical tests, all passing
  1. 📘 Read the module's README.md — it explains the concept from scratch with prose and code examples.
  2. 🔍 Open the exercise crate in your editor. Find the TODO(module-XXX) comments.
  3. 🛠️ Fix the code until the tests pass:
    cargo test -p module-042-exercises   # should start RED, end GREEN
  4. 👀 Peek at solutions/ if you get truly stuck. No shame — the reference is there on purpose.
  5. ✅ Verify your work:
    ./scripts/verify_module.sh 042       # runs fmt, clippy, and tests
  6. ☑️ Check the box in the curriculum map below and move on.

🏆 Capstone Workflow

Same pattern, just bigger. Each capstone lives in capstones/capstone-NN-*/ with starter/ (your work) and solution/ (reference). They span 4–8 hours each and integrate everything from the preceding block.

🧪 Running Tests

Command What it does
cargo test -p module-XXX-exercises Run tests for one module's exercise
cargo test -p module-XXX-solutions Run tests for one module's solution
cargo test Run tests for all solution crates
./scripts/verify_module.sh 042 fmt + clippy + test for one module

📚 Full walkthrough, module anatomy, and FAQ: docs/HOW_TO_USE.md.


🗂️ Repository Structure

Rust.Stack/
├── README.md
├── Cargo.toml                  # Workspace root (glob members)
├── rust-toolchain.toml         # Pinned stable toolchain
├── CONTRIBUTING.md
├── LICENSE                     # MIT
├── docs/
│   ├── SETUP.md
│   └── HOW_TO_USE.md
├── scripts/
│   ├── new_module.sh           # Scaffolds a new module
│   ├── verify_module.sh        # fmt + clippy + test for one module
│   └── check_progress.sh       # Reports completion %
├── modules/
│   ├── module-000-orientation/
│   ├── module-001-toolchain-and-first-program/
│   ├── ...
│   └── module-100-final-capstone-support/
└── capstones/
    ├── capstone-01-contact-book-cli/
    ├── ...
    └── capstone-10-full-stack-job-ready-project/

❓ FAQ

I already know some Rust. Can I skip ahead?

Yes. Each module's README lists prerequisites. If you're comfortable with a topic, skim the README, run the solution tests to confirm, and move on. The capstones are especially useful for validation even if you skip blocks.

Do I need to be online?

No. Clone the repo once, run cargo fetch to cache dependencies, and you're fully offline from that point forward.

Can I contribute?

Absolutely. See CONTRIBUTING.md for the folder shape requirements, content guidelines, and the acceptance bar (fmt, clippy, tests must be clean). PRs welcome for new modules, improvements to existing ones, or bug fixes.

What if a module's solution tests don't pass for me?

Make sure you're on the stable toolchain (rustup show). The repo pins its toolchain in rust-toolchain.toml. If you're on a different Rust version, some dependencies may not compile. File an issue if the problem persists.

Is there a completion certificate or credential?

No. This is a plain git repo, not a platform. The portfolio project (Capstone 10) and the capstones you've built serve as your credential.

How long does it take?

Roughly 3–6 months at ~10 hours/week. Each module takes 45–90 minutes; each capstone takes 4–8 hours. The curriculum has 101 slots (92 modules + 10 capstones, counting Module 000 and Capstone 10).


✅ Progress Tracking

Tick the checkboxes below as you complete modules and capstones. Run ./scripts/check_progress.sh to see your completion percentage.

🟥 Block A — Foundations I 001–009 → Capstone 01
🟧 Block B — Foundations II 011–019 → Capstone 02
🟨 Block C — Intermediate Rust I 021–029 → Capstone 03
🟩 Block D — Concurrency, Unsafe & Macros 031–039 → Capstone 04
🟦 Block E — Async Rust 041–049 → Capstone 05
🟪 Block F — Systems Programming & Performance 051–059 → Capstone 06
🟫 Block G — Backend Web Development 061–069 → Capstone 07
Block H — CLI, Networking & Distributed Systems 071–079 → Capstone 08
🟣 Block I — WASM, Frontend, Game Dev, Embedded & Blockchain 081–089 → Capstone 09
🔴 Block J — Interview Prep, DSA & Career Readiness 091–100 → Capstone 10

📜 License & Contributing

📄 License MIT
🤝 Contributing See CONTRIBUTING.md — required folder shapes, content guidelines, and the acceptance bar (fmt, clippy, tests clean, always).

Built with 🦀, one module at a time. Star ⭐ this repo if it's helping you learn Rust.

About

ʀᴜꜱᴛ.ꜱᴛᴀᴄᴋ 🦀 : ᴀ ꜱᴇʟꜰ-ᴄᴏɴᴛᴀɪɴᴇᴅ, ᴏꜰꜰʟɪɴᴇ-ꜰʀɪᴇɴᴅʟʏ 0-ᴛᴏ-100 ʀᴜꜱᴛ ʟᴇᴀʀɴɪɴɢ ꜱᴀɴᴅʙᴏx. 101 ʜᴀɴᴅꜱ-ᴏɴ ᴍᴏᴅᴜʟᴇꜱ + 10 ᴄᴀᴘꜱᴛᴏɴᴇꜱ, ᴛᴀᴋɪɴɢ ʏᴏᴜ ꜰʀᴏᴍ ᴢᴇʀᴏ ʀᴜꜱᴛ ᴛᴏ ᴊᴏʙ-ʀᴇᴀᴅʏ ᴀᴄʀᴏꜱꜱ ʙᴀᴄᴋᴇɴᴅ, ᴀꜱʏɴᴄ, ꜱʏꜱᴛᴇᴍꜱ, ᴄʟɪ, ᴡᴀꜱᴍ, ɢᴀᴍᴇ ᴅᴇᴠ & ʙʟᴏᴄᴋᴄʜᴀɪɴ. ꜱᴛʀɪᴄᴛʟʏ ʟɪɴᴇᴀʀ, ꜱᴏʟᴜᴛɪᴏɴꜱ ɪɴᴄʟᴜᴅᴇᴅ, ɴᴏ ᴡᴇʙꜱɪᴛᴇ — ᴊᴜꜱᴛ ɢɪᴛ ᴄʟᴏɴᴇ ᴀɴᴅ ɢᴏ. 🦀.

Topics

Resources

Contributing

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages