DEV Community

ke na
ke na

Posted on

A story about prototyping a 'Desktop Directory Structure Visualization Tool' with Tauri

[Overview]
You might feel strange hearing about desktop visualization (since the desktop is already visible).
However, after recently trying out BI tools, I felt that the necessary information isn't visualized by default.
So I thought I'd create an app for myself that could visualize the information that comes out of the tree command.

[URL]
https://github.com/nkwork9999/tree_viz/tree/vizonly

[Purpose]
Create and publish a personal application.
Visualize folder structure in a tree format.
Open folders when clicked.

[Frameworks Used]
Tauri (Rust × TypeScript): Allows writing desktop application GUI with React.
ReactFlow: Create flowchart diagrams with React.
MUI: Used for screen creation.

[What I'm Happy About]
Although it was my first time properly creating a desktop application as a hobby, Tauri is so excellent that the app launches at lightning speed with a double-click.
Backend processing is also fast. 🙌

[Learnings]
I was able to work with Rust, which increased the number of things I want to learn and frameworks I want to try next (creating my own OS, WASM, data analysis with Rust, etc.)
Learned how to output data from the backend using the ReactFlow library. (Can it be used for ER diagrams too?)
Being able to write desktop application GUIs in React means not having to learn specific syntax for GUI libraries for each language. (If Tauri can establish itself...)

[Unclear Points]
Implementation of the tree command in the backend... How to handle security and application publishing (publishing to App Store, how to write terms of service, etc.)
Apparently, a dialog asking for permission appears by default when launching the tool.
Also, logic (DTM application files) seems to be recognized as directories, and the cause of this is unclear.
There are many other unclear points remaining.
In conclusion, for the time being, I won't publish it on the App Store, but will make it public on GitHub.
I would appreciate any comments or feedback. 🙏

Top comments (0)