Skip to content

A structured roadmap of system-level and networking projects in C++. From beginner-level socket programming to building mini distributed systems, RPC, proxies, and even operating system components.

Notifications You must be signed in to change notification settings

samnart1/nativecpp

Repository files navigation

C++ Projects

A structured roadmap of system-level and networking projects in C++.
From beginner-level socket programming to building mini distributed systems, RPC, proxies, and even operating system components.


Progression Path

Basic socketsProtocolsConcurrency & OS internalsFrameworks (HTTP/gRPC)Distributed Systems


Tiers Overview

  • Tier 1: Beginner — Warm-ups, sockets, basic threads, CLI tools
  • Tier 2: Intermediate — Multithreading, custom protocols, memory allocators
  • Tier 3: Advanced — Asynchronous I/O, load balancers, distributed KV stores
  • Tier 4: Expert — Protocol implementations, distributed coordination, OS concepts
  • Tier 5: Mastery — High-performance systems, CDN, tracing, distributed databases

Project Tracker

Tier 1: Beginner System & Networking (Warm-ups)

Click to expand
  • 1. Hello Socket: simple TCP client/server (send/receive strings)
  • 2. UDP Echo server
  • 3. Multi-client TCP chat server
  • 4. File transfer app over TCP
  • 5. Simple key-value store in memory with TCP access
  • 6. Basic HTTP server (serve static files)
  • 7. Small HTTP client (GET, POST)
  • 8. ls clone (list directory)
  • 9. cat clone (read file contents)
  • 10. System info tool (CPU, memory, processes)
  • 11. Logging library with file rotation
  • 12. Thread pool
  • 13. Producer-consumer with threads
  • 14. CLI task scheduler (like a mini cron)
  • 15. Mini shell (cd, ls, piping)

Tier 2: Intermediate System & Networking

Click to expand
  • 16. Multi-threaded chat server with rooms
  • 17. Basic DNS resolver (sockets)
  • 18. Simple FTP client/server
  • 19. Multi-client file sync tool
  • 20. Packet sniffer (raw sockets)
  • 21. Load balancer (round-robin)
  • 22. Port scanner CLI
  • 23. Rate limiter (token bucket)
  • 24. Network logging (log over TCP)
  • 25. Shared memory key-value store
  • 26. Custom malloc/free
  • 27. CLI process manager
  • 28. Signal handling demo
  • 29. CLI zip/unzip (Huffman)
  • 30. Config parser (.ini/.json)
  • 31. RPC over TCP (handshake + request/response)
  • 32. curl clone
  • 33. WebSocket echo server
  • 34. Toy event loop (reactor pattern)
  • 35. poll/select wrapper

Tier 3: Advanced Networking & System Concepts

Click to expand
  • 36. Non-blocking HTTP server (epoll)
  • 37. Proxy server (forward requests)
  • 38. SOCKS5 proxy
  • 39. Multi-threaded file downloader
  • 40. Chat app with WebSockets
  • 41. REST API framework
  • 42. Publish-subscribe system
  • 43. MQTT-like broker (QoS 0)
  • 44. TLS handshake demo (OpenSSL)
  • 45. Distributed KV store
  • 46. Mini database engine (file-backed)
  • 47. Network traffic monitor
  • 48. Raft consensus (toy version)
  • 49. Leader election
  • 50. Deadlock detector
  • 51. Memory-mapped DB
  • 52. Scheduler (priority queue)
  • 53. Lock-free queue
  • 54. Async logging system
  • 55. Thread-safe cache with eviction (LRU)

Tier 4: Expert-Level (Protocols, OS, Distributed)

Click to expand
  • 56. Custom RPC framework (proto-like)
  • 57. gRPC-like library
  • 58. MQTT client + broker (full QoS)
  • 59. WebSocket library
  • 60. REST framework (middlewares, routes)
  • 61. Binary serialization protocol
  • 62. DNS server
  • 63. DHCP server
  • 64. HTTP/2 implementation
  • 65. QUIC protocol
  • 66. P2P file sharing
  • 67. Distributed logging
  • 68. Kafka-lite pub/sub
  • 69. Distributed lock (Zookeeper-like)
  • 70. Full Raft (log replication)
  • 71. Paxos (toy version)
  • 72. Columnar DB (DuckDB-lite)
  • 73. Caching proxy (Varnish-lite)
  • 74. CDN simulator
  • 75. Distributed REST gateway
  • 76. Event-driven microservice framework
  • 77. Actor model (Akka-lite)
  • 78. Container runtime (mini Docker)
  • 79. Toy OS kernel
  • 80. Virtual file system

Tier 5: Master-Level Projects

Click to expand
  • 81. nginx-lite (HTTP server)
  • 82. HAProxy-lite (reverse proxy)
  • 83. Streaming server (video/audio)
  • 84. Torrent client
  • 85. Onion routing demo (Tor-like)
  • 86. VPN (toy)
  • 87. Load balancer with health checks
  • 88. Kubernetes-lite
  • 89. Message queue (RabbitMQ-lite)
  • 90. Distributed SQL DB
  • 91. gRPC alt with custom IDL
  • 92. MQTT broker cluster
  • 93. Replicated filesystem
  • 94. Serverless engine
  • 95. Tracing system (Prometheus-lite)
  • 96. Distributed graph DB
  • 97. Monitoring system
  • 98. CRDTs in distributed systems
  • 99. Blockchain (network + consensus)
  • 100. Fault-tolerant microservice framework

About

A structured roadmap of system-level and networking projects in C++. From beginner-level socket programming to building mini distributed systems, RPC, proxies, and even operating system components.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published