Fast, visual disk space analyzer — Rust backend + Astro/React frontend.
Scan drives, visualize usage with interactive treemap, clean up large files.
- 🚀 Multi-threaded scanning (Rust + Rayon)
- 🗺️ Interactive D3.js treemap with drill-down
- 📋 Sortable list view with size bars
- 🧠 Smart delete recommendations (safe / risky / danger)
- 🗑️ Safe delete to Recycle Bin
- 📂 Open in Explorer
- 📡 Real-time WebSocket progress
- 🎨 Dark mode UI
# Clone
git clone https://github.com/<your-username>/disk-analyzer.git
cd disk-analyzer
# Backend (terminal 1)
cd backend
cargo run --release
# → API running at http://localhost:3000
# Frontend (terminal 2)
cd frontend
npm install
npm run dev
# → UI at http://localhost:4321Buka http://localhost:4321, pilih drive, klik Scan Now.
disk-analyzer/
├── backend/ # Rust (Axum) API + WebSocket
│ └── src/
│ ├── main.rs # Server entrypoint
│ ├── api.rs # Routes & WS handlers
│ ├── scanner.rs # Multi-threaded dir scanner
│ ├── models.rs # Data types
│ └── error.rs # Error handling
├── frontend/ # Astro + React + Tailwind
│ └── src/
│ ├── components/ # React components
│ ├── lib/ # API client, types, heuristics
│ └── pages/ # Astro pages
├── .gitignore
└── README.md
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/drives |
List drives |
POST |
/api/scan |
Start scan |
GET |
/api/scan/:id/status |
Scan status |
WS |
/api/scan/progress?id=<id> |
Live progress |
POST |
/api/open |
Open in Explorer |
POST |
/api/delete |
Move to Recycle Bin |
DELETE |
/api/cache |
Clear cache |
| Backend | Rust, Axum, Tokio, Rayon, DashMap, Serde |
| Frontend | Astro, React 18, TypeScript, D3.js, Framer Motion |
| Styling | TailwindCSS, Fira Sans/Code |
MIT