Skip to content

Development Setup

This guide will help you set up the PureSend development environment.

System Requirements

Required Software

Platform-Specific Requirements

macOS

bash
# Install Xcode command line tools
xcode-select --install

# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Windows

  1. Install Microsoft Visual Studio C++ Build Tools
  2. Install Rust

Linux

bash
# Ubuntu/Debian
sudo apt update
sudo apt install libwebkit2gtk-4.1-dev \
    build-essential \
    curl \
    wget \
    libssl-dev \
    libgtk-3-dev \
    libayatana-appindicator3-dev \
    librsvg2-dev

# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Quick Start

1. Clone the Repository

bash
git clone https://github.com/Z-Only/puresend.git
cd puresend

2. Install Dependencies

bash
# Install pnpm (if not already installed)
npm install -g pnpm

# Install project dependencies
pnpm install

3. Start Development Server

bash
pnpm tauri dev

This will start:

  • Vite development server (frontend hot reload)
  • Tauri app window (Rust backend)

Project Structure

text
puresend/
├── src/                    # Vue frontend code
│   ├── components/         # Vue components
│   ├── composables/        # Composables
│   ├── services/           # Service layer
│   ├── stores/             # Pinia state management
│   ├── types/              # TypeScript type definitions
│   └── views/              # Page views
├── src-tauri/              # Tauri/Rust backend
│   ├── src/                # Rust source code
│   ├── Cargo.toml          # Rust dependencies
│   └── tauri.conf.json     # Tauri configuration
├── docs/                   # VitePress documentation
└── package.json            # Node.js dependencies

Tech Stack

  • Frontend: Vue 3 + TypeScript + Vuetify 4 + Pinia 3
  • Backend: Tauri 2 (Rust)
  • Build Tool: rolldown-vite
  • Documentation: VitePress

Common Commands

CommandDescription
pnpm tauri devStart development server
pnpm tauri buildBuild production version
pnpm lintRun code check
pnpm formatFormat code
pnpm docs:devStart documentation development server
pnpm docs:buildBuild documentation site

Android Development

Environment Requirements

  1. Android Studio - Install Android SDK and NDK
  2. JDK 17+ - Java Development Kit
  3. Rust Android Targets:
bash
rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android

Environment Variables

Add to ~/.zshrc or ~/.bashrc:

bash
export ANDROID_HOME=$HOME/Library/Android/sdk
export NDK_HOME=$ANDROID_HOME/ndk/<ndk-version>
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

Build Commands

bash
# Initialize Android project (first time)
pnpm tauri android init

# Development mode
pnpm tauri android dev

# Build APK
pnpm tauri android build

# Build Release version
pnpm tauri android build --release

Next Steps

Released under the MIT License