- Data Drake
- Table Of Contents
- Introduction
- Features
- Getting Started
- Usage
- Roadmap
- Contributing
- License
- Contact
- Acknowledgments
Data Drake is an application with a simple purpose: to provide persistent, on-demand file indexing. Inspired by the GNOME Disk Utility, but with the added benefit of persistent storage, Data Drake allows you to scan directories and determine, with as much or as little granularity as you like, what is taking up all your space.
Data Drake is built using Sveltekit for the frontend and Rust for the backend, providing a fast and efficient user experience.
- Persistent storage of file indexing results
- Customizable scanning granularity
- Intuitive and user-friendly interface
- Fast and efficient performance
- Cross-platform compatibility
To get started with Data Drake, follow these steps:
Before installing Data Drake, ensure that you have the following dependencies installed on your local machine:
- Node.js (>=18.0.0)
- NPM (>=6.0.0)
- Rust (>=1.57.0) and Cargo (Rust's package manager)
You can check if you have these dependencies installed by running node -v
, npm -v
, yarn -v
, and rustc --version
in your terminal.
-
Add
DATA_DRAKE_AUTH_TOKEN
to your system environment variables and generate a secure string for the value. -
Navigate to the
backend
directory and bring it up with the following command:cd backend cargo run
-
Navigate to the
frontend
directory:cd ../frontend
-
Create a
.env
file within thefrontend
directory and add the following variables:DATA_DRAKE_AUTH_TOKEN=your_auth_token_value DATA_DRAKE_SERVER_URI=http://localhost:8000
Replace
your_auth_token_value
with the secure string you generated forDATA_DRAKE_AUTH_TOKEN
and updateDATA_DRAKE_SERVER_URI
with the URI where your server is running. -
Build the frontend with the following command:
npm run build
-
Run the frontend with the following command:
npm run preview
-
Navigate to the
frontend
directory:cd frontend
-
Create a
.env
file within thefrontend
directory and add the following variables:DATA_DRAKE_AUTH_TOKEN=your_auth_token_value DATA_DRAKE_SERVER_URI=http://backend:8000
Replace
your_auth_token_value
with the secure string you generated forDATA_DRAKE_AUTH_TOKEN
. Note that theDATA_DRAKE_SERVER_URI
should use the service namebackend
as defined in the Docker Compose file. -
Open the
docker-compose.yml
file in the project root directory. -
In the
backend
service section, add the following volume mount to specify the desired directories for scanning:services: backend: ... volumes: - /path/to/scan/directory:/app/scanned_data
Replace
/path/to/scan/directory
with the actual path to the directory you want to scan. -
Build the project with the following command:
docker compose build
-
Run the project with the following command:
docker compose up
This will start both the backend and frontend services defined in the Docker Compose file.
Make sure you have Docker and Docker Compose installed on your machine before running the Docker-specific commands.
Once you have Data Drake up and running, you can start scanning directories and analyzing disk usage. Simply select the directory you want to scan, choose the desired scanning granularity, and let Data Drake do the rest. The results will be persistently stored, allowing you to access them later and track changes over time.
Here are some of the features and improvements planned for future releases of Data Drake:
- Enhanced visualization options for disk usage analysis
- Support for remote file systems and network drives
- Integration with cloud storage services
- Advanced filtering and search capabilities
- Customizable reporting and export options
We welcome contributions from the community to help improve Data Drake. If you would like to contribute, please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Create a new Pull Request
Data Drake is licensed under the MIT License. See the LICENSE file for more details.
If you have any questions, suggestions, or feedback, feel free to reach out to us:
- Email: [email protected]
- Project Link: https://github.com/your-username/data-drake
We would like to express our gratitude to the following communities and projects for their support and inspiration:
- Sveltekit community
- Rust community
- GNOME Disk Utility project
Special thanks to all the contributors who have helped make Data Drake better!