MCPcopy Index your code
hub / github.com/emmaglorypraise/100rustprojects

github.com/emmaglorypraise/100rustprojects @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
557 symbols 1,087 edges 132 files 48 documented · 9%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

🦀 100 Rust Projects Challenge

Progress

A collection of 100 Rust projects — from beginner fundamentals to backend systems and async programming. Built in public as part of the #100RustProjects challenge.

If you're learning Rust and looking for project ideas, this repo is for you. Browse the projects, read the notes, and build something.


What's Inside

100 small-to-medium Rust projects covering:

  • Rust fundamentals: ownership, lifetimes, error handling
  • CLI tools and utilities
  • Web servers and REST APIs
  • Async programming with Tokio
  • File and data handling
  • Systems programming patterns
  • WebAssembly (WASM)
  • Crates: tokio, serde, clap, actix, and more

Each project lives in its own folder with code and notes explaining the concept and implementation.


Quick Links


Project Structure

Each project follows this folder structure:

100-rust-projects/
├── README.md
├── progress.md ← Project log and status tracker
├── notes/ ← Daily reflections, learnings, and resources
│ ├── project_001_hello_world.md
│ ├── project_002_guessing_game.md
│ └── ...
├── projects/ ← Code for each project
│ ├── project_001_hello_world/
│ ├── project_002_guessing_game/
│ └── ...


For Beginners

Not sure where to start? Check the Progress Tracker for the full project list ordered by complexity — start from project 001 and work your way up, or jump to any topic that interests you.


A Note on These Projects

The projects in this repo are starting points, not finished products. They are intentionally kept simple so the core concept is clear. Feel free to:

  • Improve on them
  • Add new features
  • Refactor the code
  • Use them as inspiration for your own projects

If you build something cool based on any of these, I would love to see it, open an issue, or tag me on X.


Support This Repo

If this repo has been useful to you, consider giving it a ⭐. It helps more Rust beginners find it.

Contributing

Found an error or want to suggest a project idea?
Open an issue or reach out on X @emmaglorypraise


Built by Glory Praise Emmanuel · glorypraise.hashnode.dev


Extension points exported contracts — how you extend this code

Command (Interface)
(no doc) [4 implementers]
projects/command_pattern/src/main.rs
Plugin (Interface)
(no doc) [3 implementers]
projects/plugin_system/src/main.rs
Shape (Interface)
(no doc) [3 implementers]
projects/polymorphic_shape_renderer/src/main.rs
Greeter (Interface)
(no doc) [3 implementers]
projects/trait_object_demo/src/main.rs

Core symbols most depended-on inside this repo

is_empty
called by 66
projects/generic_stack/src/main.rs
len
called by 48
projects/generic_stack/src/main.rs
push
called by 36
projects/generic_stack/src/main.rs
contains
called by 26
projects/linked_list/src/main.rs
iter
called by 23
projects/generic_stack/src/main.rs
set
called by 15
projects/key_value_store/src/main.rs
write_all
called by 14
projects/crud_in_file/src/main_pro.rs
execute
called by 13
projects/thread_pool/src/main.rs

Shape

Function 359
Class 98
Method 87
Enum 9
Interface 4

Languages

Rust100%

Modules by API surface

projects/prompt_manager/src/main.rs23 symbols
projects/postgresql_full_todo/src/main.rs17 symbols
projects/resume_builder/src/main.rs13 symbols
projects/hello_actix/src/main.rs13 symbols
projects/generic_stack/src/main.rs13 symbols
projects/blog_api_backend/src/main.rs13 symbols
projects/crud_in_file/src/main_pro.rs12 symbols
projects/command_pattern/src/main.rs12 symbols
projects/banking_system/src/banking/service.rs12 symbols
projects/file_compression_tool/src/main.rs11 symbols
projects/postgresql_crud_app/src/main.rs10 symbols
projects/linked_list/src/main.rs10 symbols

Datastores touched

todo_dbDatabase · 1 repos
blog_dbDatabase · 1 repos
ecommerce_dbDatabase · 1 repos

For agents

$ claude mcp add 100rustprojects \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact