Prerequisites
Before you begin, ensure you have the following installed:Node.js 18+
Download and install from nodejs.org. Verify installation:
Rust
ZipDrop is built specifically for macOS 12.0 or later. Development and building on other platforms is not supported.
Clone the Repository
Clone the ZipDrop repository to your local machine:Install Dependencies
Install both frontend and backend dependencies:- Install Node.js dependencies listed in
package.json - Download Rust crates specified in
src-tauri/Cargo.toml - Set up the Tauri CLI
Run Development Server
Start the development server with hot-reload enabled:- Start the Vite development server on
http://localhost:1420 - Compile the Rust backend
- Launch the ZipDrop app window
- Enable hot-reload for both frontend and backend changes
Demo mode is enabled by default - uploaded files will be saved to
~/Downloads/ZipDrop without requiring R2 credentials.Project Structure
After cloning, your project structure should look like this:Development Tips
Enable Debug Logging
The Rust backend includesprintln! statements for debugging. View logs in the terminal where you ran pnpm tauri dev.
Frontend Development
For faster frontend-only iteration, you can run just the Vite server:Backend Changes
When you modify Rust code, the app will automatically recompile and restart. This may take 10-30 seconds depending on the changes.Next Steps
Architecture
Understand the tech stack and project structure
Building
Build production-ready binaries