A distributed file system implementation with a beautiful TUI client interface.
- Distributed Storage: Files are split into chunks and distributed across multiple DataNodes
- Fault Tolerance: Files can be stored across different machines
- Beautiful TUI: Modern terminal user interface built with Rich
- Network Support: Works across multiple machines on the same network
- File Operations: Upload, download, list, and delete files
- Install Python 3.x
- Install dependencies:
pip install richFor detailed network setup instructions, see NETWORK_SETUP.md
1. Start Namespace Server:
python namespace.py 0.0.0.0 90002. Start DataNodes (on different machines or same machine):
python datanode.py node1 8001 2048 <namespace_ip> 9000 <this_machine_ip>3. Start Client TUI:
python client.py <namespace_ip> 9000- Namespace Server: Central metadata coordinator (like NameNode in HDFS)
- DataNodes: Storage servers that hold actual file chunks
- Client: TUI interface for file operations
namespace.py- Namespace server (metadata coordinator)datanode.py- DataNode server (storage)client.py- Client TUI applicationdatabase.py- SQLite database schemautils.py- Utility functions
- NETWORK_SETUP.md - Detailed network setup guide