1.
Distributed File Storage System
**Objective:**
To develop a file storage system that distributes and replicates files across multiple nodes for fault
tolerance and scalability.
**Tools & Technologies:**
Python, gRPC, Docker, Consistent Hashing
**Architecture Overview:**
Client-server model where files are broken into chunks and stored on multiple nodes using a
consistent hashing mechanism.
**Implementation Summary:**
- Clients upload/download files through a central coordinator
- Nodes handle chunk storage and replication
- Periodic health checks for node availability
**Expected Outcome:**
Fault-tolerant, scalable, and reliable file storage system that handles node failures gracefully.
2. Load Balancer Using Distributed Servers
**Objective:**
To create a system that balances incoming web traffic across multiple backend servers.
**Tools & Technologies:**
Python, Flask, Nginx, Round Robin Algorithm
**Architecture Overview:**
Load balancer sits in front of multiple servers and distributes incoming requests.
**Implementation Summary:**
- Health checks to monitor backend servers
- Load balancing algorithm (round robin or weighted)
- Logging and performance monitoring
**Expected Outcome:**
Improved performance and availability through even traffic distribution and redundancy.
3. Real-Time Chat Application (Peer-to-Peer)
**Objective:**
To design a real-time, decentralized chat application using peer-to-peer architecture.
**Tools & Technologies:**
WebRTC, Node.js, Socket.IO, STUN/TURN servers
**Architecture Overview:**
Fully distributed P2P model using browser-based communication via WebRTC.
**Implementation Summary:**
- Peers connect using a signaling server
- Direct data channels established using WebRTC
- Text and file transfer supported
**Expected Outcome:**
A real-time chat platform with minimal central dependency, ideal for secure private communication.
4. Distributed Web Crawler
**Objective:**
To build a web crawler that works in parallel across multiple machines to crawl websites efficiently.
**Tools & Technologies:**
Python, RabbitMQ, MongoDB, Celery
**Architecture Overview:**
Master-dispatcher model with distributed worker nodes pulling URLs from a task queue.
**Implementation Summary:**
- URLs added to a centralized queue
- Worker nodes fetch pages and extract links
- Deduplication and depth control managed centrally
**Expected Outcome:**
High-speed, scalable web crawling with intelligent URL management and fault tolerance.
5. Blockchain-Based Voting System
**Objective:**
To create a secure and transparent voting platform using blockchain technology.
**Tools & Technologies:**
Ethereum, Solidity, Web3.js, MetaMask
**Architecture Overview:**
Smart contracts manage election and votes on the Ethereum blockchain.
**Implementation Summary:**
- Users authenticate via wallets
- Votes stored immutably on the blockchain
- Real-time result tracking via a web dashboard
**Expected Outcome:**
A tamper-proof, transparent digital voting system with enhanced trust and auditability.