-
Notifications
You must be signed in to change notification settings - Fork 0
Home
P A M O D edited this page Feb 21, 2026
·
2 revisions
Welcome to the SkyBox project documentation! SkyBox is a modern desktop file explorer application that integrates Telegram as unlimited free cloud storage, built with Tauri, React, TypeScript, and Rust.
SkyBox solves a common problem: cloud storage services cost money and have storage limits. This application leverages Telegram as a free, unlimited cloud storage backend while providing a beautiful, native desktop file management experience.
- Telegram-powered Storage: Uses Telegram's infrastructure for unlimited file storage
- Desktop-First: Native desktop application for Windows, macOS, and Linux
- Offline-First: Local database for fast operations and offline access
- Modern UI: Clean, responsive interface inspired by Telegram's design language
- Getting Started - Setup and installation guide
- Architecture Overview - System design and patterns
- API Reference - Complete API documentation
- Development Guidelines - Coding standards and conventions
- Frontend Application - React components and UI architecture
- Backend Architecture - Rust/Tauri backend systems
- Telegram Integration - Authentication and file operations
- Data Management - Database and state management
- Authentication System - Login flows (Phone, QR, Password)
- File Upload System - Upload management and progress tracking
- Thumbnail Generation - Media preview system
- Recycle Bin Feature - Soft delete and recovery
- React + TypeScript - Modern UI framework with type safety
- Vite - Fast build tool and dev server
- Tailwind CSS - Utility-first styling
- shadcn/ui + Radix UI - Accessible component primitives
- Rust - Systems programming for performance and safety
- Tauri v2 - Desktop application framework
- SQLite - Local embedded database
- grammers - Telegram client library
- Vitest - Unit testing framework
- Testing Library - Component testing
- ESLint - Code linting
- Prettier - Code formatting
SkyBox/
├── src/ # Frontend React application
│ ├── components/ # React components
│ │ ├── skybox/ # App-specific components
│ │ └── ui/ # shadcn/ui components
│ ├── pages/ # Page components
│ ├── hooks/ # Custom React hooks
│ └── lib/ # Utilities and helpers
│
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── telegram/ # Telegram integration
│ │ ├── db/ # Database layer
│ │ ├── fs/ # File system operations
│ │ └── utils/ # Backend utilities
│ ├── Cargo.toml # Rust dependencies
│ └── tauri.conf.json # Tauri configuration
│
├── docs/ # Documentation
├── .github/workflows/ # CI/CD automation
└── public/ # Static assets
- Modern Explorer UI: Grid and list views with sorting and filtering
- Breadcrumb Navigation: Intuitive path navigation
- Search: Quick file and folder search
- Context Menus: Right-click actions for file operations
- Details Panel: View file metadata and properties
- Multiple Auth Methods: Phone number, QR code, password-based login
- Session Management: Secure, persistent authentication
- Saved Messages Browser: Browse and manage Telegram saved messages
- File Upload/Download: Seamless file transfer to/from Telegram
- Thumbnail Generation: Preview images and videos
- Local SQLite Database: Fast, embedded data storage
- Category System: Organize files by category
- Message Indexing: Quick search across Telegram messages
- Recycle Bin: Soft delete with recovery option
- Node.js 20 or higher
- Rust stable (MSRV: 1.77.2)
- npm or yarn package manager
# Install dependencies
npm install
# Run development server
npm run tauri:dev
# Run tests
npm run test
# Build for production
npm run tauri:build- Frontend: 2-space indentation, double quotes, semicolons
-
Backend: Follow
rustfmtconventions -
Commits: Conventional commits (
feat:,fix:,docs:, etc.)
- Installation and setup
- Development environment configuration
- First-time contribution guide
- System Design - High-level architecture
- Frontend Architecture - React app structure
- Backend Architecture - Rust/Tauri implementation
- Data Flow Patterns - Communication patterns
- Explorer Page - Main file browser
- Authentication - Login and session management
- File Operations - Upload, download, delete
- Media Handling - Thumbnails and previews
- Performance Optimization - Speed and efficiency
- Security Considerations - Security best practices
- Extensibility Patterns - Plugin architecture
We welcome contributions! Please follow these guidelines:
- Follow the code style defined in Development Guidelines
- Write tests for new features
- Update documentation when changing behavior
- Use conventional commits for clear history
- Keep PRs focused - one feature/fix per PR
feat(scope): add new feature
fix(scope): resolve bug
docs(scope): update documentation
refactor(scope): code restructuring
chore: maintenance tasks
Having issues? Check out:
- Troubleshooting Guide - Common problems and solutions
- FAQ - Frequently asked questions
- GitHub Issues - Report bugs or request features
This project is open source. See the LICENSE file for details.
- AGENTS.md - AI agent development guide
- CHANGELOG.md - Version history
- README.md - Project readme
Last Updated: February 2026
Version: See VERSION file