A distributed, replicated, and fault-tolerant file system written in Java. This project was developed for CS555: Distributed Systems, Assignment 1.
The whole system provides a scalable way for users to add new files, update/edit existing files, and retrieve files in a resilient and efficient manner across many machines. These machines run one of 3 logical components to the system: the Client, Chunk Servers, and Controller.