Aims to be an Electron implementation of jDiskReport.
Example:
$ sudo port install yarn # Also installs Node.
$ git clone git@github.com:beporter/ediskreport.git
$ cd ediskreport/
$ yarn install
$ yarn start # (Will launch the electron app locally.)
# In a separate terminal window:
$ yarn watch # (Will watch for file saves and rebuild the app automatically.)
Once both are running, edit and save code, then Cmd+R to reload the app in the Electron window.
@TODO
@TODO
Build GUI as if it was a browser app.
Create a node app that has a restful or rpc api, and then build the web app that makes calls to that "server" app.
Redux for managing global data store, preact for rendering minimal changes based on that store.
Try using Tauri to take advantage of a Rust core bundled with an html/css/js frontend GUI.
$ cd ediskreport/ediskreport
$ cargo tauri dev
Need to decide how to take ls
results and turn it into structured data.
- Get a single hardcoded path "submission" to return
ls
data.- Maybe an array or object containing elements like:
{ name: 'file.jpg', type: f|d, bytes: 12345, children: {...}, extra: {...}}
. - See: https://stackoverflow.com/a/31831122/70876 & References
- Maybe an array or object containing elements like:
- Render the current path and a pie chart of directory contents.
- Limit number of entries in chart to
x
(10-20), group remaining small files into a single wedge named "others".
- Limit number of entries in chart to
- Get test infrastructure set up.
- Code signing.
- Building a release-able package per-platform.
- CI/build integration?
-
React Desktop skins React to look like macOS or Win10.
-
Charts.js can help you render a pie chart as an HTML5 canvas.
-
node-dir MIT(no file sizes) -
directory-tree MIT
-
get-folder-size MIT
-
Sync redux store between main and renderer processes in Electron. Good graph to understand conceptually, but looks to require double the memory for duplicated stores in each thread. Supposedly we have access to node api's in the renderer threads. (can't figure out how to import them though) so maybe we can do everything in the renderer?
- File Explorer let's you navigate around a filesystem.
© 2022 Brian Porter. All rights reserved.