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.
Basic sockets → Protocols → Concurrency & OS internals → Frameworks (HTTP/gRPC) → Distributed Systems
- 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
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.
lsclone (list directory) - 9.
catclone (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)
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.
curlclone - 33. WebSocket echo server
- 34. Toy event loop (reactor pattern)
- 35.
poll/selectwrapper
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)
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
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