Files
quoter/docs/features.md
Untone eefdfe6d5d Restore thumbnail generation with Storj caching
- Restored thumbnail functions in src/thumbnail.rs with WebP support
- Added Storj caching for thumbnails (cache_thumbnail_to_storj, load_cached_thumbnail_from_storj)
- Updated handlers to use thumbnail generation with Storj caching
- Added ETag caching with MD5 hashes for optimal performance
- Updated documentation to reflect restored thumbnail functionality
- Removed local file caching in favor of reliable Storj storage

💋 Self-contained: Quoter now handles everything - uploads, thumbnails, and serving.
2025-09-02 18:57:17 +03:00

58 lines
1.8 KiB
Markdown

# Quoter Features
Simple file upload/download proxy with thumbnail generation and S3 storage.
## What Quoter Does
### 📤 File Upload
- **Multipart uploads** to S3/Storj storage
- **User quotas** (5GB default per user)
- **JWT authentication** with session management
- **MIME type detection** from file content
- **Rate limiting** to prevent abuse
### 📁 File Storage
- **S3-compatible storage** (Storj primary, AWS fallback)
- **Redis caching** for file metadata and quotas (graceful fallback)
- **Multi-cloud support** with automatic migration
### 🖼️ Thumbnail Generation
- **On-demand WebP thumbnails** with configurable dimensions
- **Storj caching** for generated thumbnails
- **Smart fallback** to original images if generation fails
- **ETag caching** for optimal performance
### 🌐 File Serving
- **Direct file access** via filename
- **Thumbnail access** via `filename_width.ext` pattern
- **Fast response** optimized for Vercel Edge caching
- **CORS whitelist** for secure access (includes Vercel domains)
- **Vercel-compatible headers** for optimal edge caching
## 🚀 Modern Architecture
**Quoter**: File upload/download + thumbnail generation + S3 storage
**Vercel**: Global CDN + edge optimization
💋 **Self-contained**: Quoter handles everything - uploads, thumbnails, and serving.
💋 **Reliable**: No external dependencies for core functionality.
## Technical Stack
- **Backend**: Rust + Actix Web
- **Storage**: Redis (metadata) + S3/Storj (files)
- **Auth**: JWT tokens
- **Tests**: 36 passing tests with full coverage
## Status
- ✅ Upload API with quotas
- ✅ Static file server
- ✅ S3 storage integration
- ✅ JWT authentication
- ✅ Rate limiting & security
- ✅ Thumbnail generation with Storj caching
- ✅ ETag caching for performance
- ✅ Full test coverage
- 🚀 Production ready