A Scalable File Management Application
File Wizard is a desktop utility designed to simplify file system management through an intuitive user interface and powerful backend services. Built with modern web technologies and Rust, it is designed to be modular, scalable, and efficient.
Note: This project is currently in progress. We are actively working on adding new features and improvements.
- Advanced Heuristics for File System Discovery: Implement a more robust heuristic for frontier node traversal to optimize file system exploration.
- File Deletion: Enable users to delete files directly from the application, enhancing file management capabilities.
- Settings Page: Provide customizable settings to allow users to configure the application according to their preferences.
- File Details Page: Introduce a dedicated page for viewing detailed information about discovered files, including metadata and content previews.
- File Organization: Simplify file and folder management with intuitive drag-and-drop functionality.
- Search Operations: Utilize advanced search capabilities with robust threading for fast results.
- Metadata Management: Efficiently handle and display file metadata, including size, type, and timestamps.
- Cross-Platform Desktop App: Built with Electron, ensuring seamless integration across Windows, macOS, and Linux.
Experience the intuitive interface and powerful features of File Wizard through the following screenshots:
Figure 1: Users can enter or drag and drop a directory path to begin a file system search.
Figure 3: Real-time visualization of the file system as the search progresses.
Figure 4: The seach progressing.
Figure 5: Hovering over files or folders reveals detailed metadata information.
Figure 5: Navigate through directories by clicking on folders within the visualization.
- Language: JavaScript (ES6+)
- Libraries: React, Electron, D3.js, React Router Dom
- State Management: React Hooks (
useState
,useEffect
) - Build Tools: Webpack, npm
- Styling: CSS
- Language: Rust
- Concurrency:
std::thread
,Arc
,Mutex
- Libraries: Actix Web (HTTP server and routing), Serde (JSON serialization/deserialization)
- Protocol: HTTP (RESTful API)
- Data Format: JSON
File Wizard uses a layered architecture:
- Frontend (React + Electron): Handles UI and user interaction.
- HTTP Routers: Processes frontend requests.
- Controllers: Delegates requests to backend services.
- Backend Services: Executes core application logic.
For detailed information about the architecture, design, and implementation, refer to the File Wizard Documentation.
- Node.js and npm: Install from nodejs.org.
- Rust: Install using rustup.
Note: There will be an installer built for users to run the program and install in their file system at a later build release.
-
Clone the repository:
git clone /~https://github.com/GabrielPerezCSDev/FileWizard.git cd FileWizard
-
Install dependencies for the frontend:
Copy code npm install
-
Run the application in development mode:
npm run dev
- This starts both the backend (using Rust) and the frontend (React + Electron) concurrently.
-
Build the application for production:
npm run build
- This builds the frontend (React + Electron) and compiles the Rust backend in release mode.
This project is licensed under the MIT License.
You are free to use, modify, and distribute this software, provided proper attribution is given to the original author.