A peer-to-peer distributed file system that enables users to collaboratively store, retrieve, and share files across multiple nodes without relying on a centralized server. This project is designed for scalability, fault tolerance, and efficient data distribution.
- Decentralized Architecture:
- Eliminates the need for a central server by utilizing a peer-to-peer network.
- File Storage and Retrieval:
- Efficiently stores and retrieves files across multiple nodes.
- Fault Tolerance:
- Ensures data availability even when some nodes are offline.
- File Chunking:
- Splits files into smaller chunks for distributed storage and retrieval.
- Node Discovery:
- Dynamically finds and connects to other peers in the network.
- Data Redundancy:
- Optionally replicates data across multiple nodes for reliability.
- Golang (Version 1.18 or later)
- Git for cloning the repository
- Docker (optional) for containerized deployment
- Installation and implementation instructions coming soon since I am reworking the implementation for modularity and use in other projects.