This project was bootstrapped with Create React App.
The Objective of this project was to create a clone of MAC's Finder application. It'll have all the basic, level based file navigation interactions.
- Since this is only a WebApp we're not getting the data from the file system. The objective is just to clone the functionality and visuals only.
- We're using a simple JSON file to store the data.
- Any OBJECT in the JSON is considered as directory. Where KEY is going to be the NAME of the directory and the VALUE (the object itself) is the content of the directory.
- Similarly, Any string is considered as a file. Where the KEY is going to be the NAME of the file and the VALUE is going to be the CONTENTS.
So if the JSON is something like this.
{
"file1.txt" : "Some random text",
"folder1" : {
"file1.1.txt" : "Some random text",
"folder1.1": {
"file1.1.1.txt" : "Some random text"
}
},
"folder2" : {
"file2.1.txt" : "Some random text"
}
}
It's going to represent the below directory structure
/(root)
|_ file1.txt
|_ folder1
|_ file1.1.txt
|_ folder1.1
|_ file1.1.1.txt
|_ folder2
|_ file2.1.txt
- Use
git cloneor download the zip. - If you've downloaded the zip extract it.
cdinto the repository.- Run
npm installoryarn(if you're using it) - Run
npm startoryarn start(Again if you're using it) - A browser window will automatically open & in case if it didn't open your favourite browser and go to : http://localhost:3000.
Reactas the view layer.SASSSyntactically Awesome.FontAwesomefor some icons.- Since the project itself was very small I didn't feel the need of
REDUXhere.