English
Name Origin: Pixuli is a combination of Picture + uli, representing our vision of intelligent and user-friendly image management.
The Pixuli project originated from two reasons:
- Practical Need: Image management issues encountered while operating a blog website, requiring unified storage, intelligent compression, and batch processing capabilities.
- Project Experience: Based on previous experience developing an image management application with Vue3, decided to reimplement using the React technology stack to experience different framework design philosophies, and expand and optimize functionality on this basis.
Pixuli is an image management solution based on a Monorepo architecture, supporting multi-platform deployment:
- ๐ฅ๏ธ Desktop: Cross-platform desktop application built with Electron + React + TypeScript + Rust (WASM)
- ๐ Web: Web application built with Vite + React + TypeScript, supporting PWA
- ๐ฑ Mobile: Mobile application built with React Native + Expo
Core Technology Stack:
- Frontend: React 19.1.0 + TypeScript + Vite
- Desktop: Electron
- Mobile: React Native + Expo
- Image Processing: Rust (WASM) + NAPI-RS
- State Management: Zustand
- UI Components: Shared component library
- Cloud Storage: GitHub / Gitee
| Feature Module | Description |
|---|---|
| ๐ธ Image Management | Smart browsing, drag-and-drop upload, batch operations, tagging system, search functionality, metadata editing, fullscreen preview, slideshow playback |
| ๐ง Image Processing | WebP compression, format conversion, size adjustment, batch processing, pre-upload compression |
| โ๏ธ Cloud Storage | GitHub integration, Gitee integration, storage source switching, configuration management, version control, metadata storage |
| ๐จ User Experience | Theme switching, multi-language support, keyboard shortcuts, responsive design, PWA support |
Pixuli/
โโโ apps/ # Applications
โ โโโ desktop/ # Desktop application (Electron + React)
โ โโโ web/ # Web application (Vite + React)
โ โโโ mobile/ # Mobile application (React Native + Expo)
โโโ packages/ # Shared packages
โ โโโ ui/ # UI component library
โ โโโ wasm/ # WASM module (Rust)
โโโ benchmark/ # Performance testing
โโโ pnpm-workspace.yaml # Workspace configuration
- Node.js >= 22.0.0
- pnpm >= 8.0.0 (Required, project only supports pnpm)
- Git >= 2.0.0
- Rust >= 1.70.0 (For building WASM modules, desktop only)
- Android Studio (For Android development, mobile only)
- XCode (For iOS development, mobile only)
# Clone the project
git clone https://github.com/trueLoving/Pixuli.git
cd Pixuli
# Install dependencies
pnpm install
# Build WASM module (desktop only)
pnpm build:wasm
# Start development mode
pnpm dev:web # Web (http://localhost:5500)
pnpm dev:desktop # Desktop
pnpm dev:mobile --android # Mobile Android
pnpm dev:mobile --ios # Mobile iOSWant to learn more about development details? Check out our contributing guide:
- Contributing Guide - Complete development guide covering all platforms (Desktop, Web, Mobile)
Desktop application supports Windows and macOS platforms, available through:
| Platform | Download Method | Description |
|---|---|---|
| Windows | GitHub Releases | Download .exe installer |
| macOS Intel | GitHub Releases | Download mac-x64 version .dmg |
| macOS Apple Silicon | GitHub Releases | Download mac-arm64 version .dmg |
System Requirements:
- Windows: Windows 10/11 (64-bit), 4GB RAM, 2GB available disk space
- macOS: macOS 10.15+, 4GB RAM, 2GB available disk space
Web application supports online access and Docker deployment:
| Method | Link/Description | Description |
|---|---|---|
| Online Access | Live Demo | Direct access, no installation required |
| Docker | Docker Hub | Deploy using Docker |
# Pull and run the latest version
docker run -d -p 8080:80 --name pixuli-web trueloving/pixuli-web:latest
# Or use a specific version
docker run -d -p 8080:80 --name pixuli-web trueloving/pixuli-web:1.0.0Mobile application supports iOS and Android platforms, available through:
| Platform | Download Method | Description |
|---|---|---|
| Android | GitHub Releases | Download .apk installer |
System Requirements:
- Android: Android 8.0 (API 26) or higher
| Documentation Type | Documentation Link | Description |
|---|---|---|
| User Guides | GitHub Wiki | Complete user documentation and tutorials |
| Feature Docs | App Documentation | App features and usage (Web & Desktop) |
| Mobile Documentation | Mobile features and usage | |
| Development Docs | Contributing Guide | Complete development guide |
| Changelog | Changelog | Complete version history |
- Electron - Cross-platform desktop application framework
- React - User interface library
- React Native - Mobile application framework
- Vite - Fast build tool
- Rust - High-performance systems programming language
- NAPI-RS - Node.js native module bindings
- image-rs - Rust image processing library
- Zustand - Lightweight state management
- pnpm - Fast, disk space efficient package manager
โญ If this project is helpful to you, please give us a star!