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.
This commit is contained in:
2025-09-02 18:57:17 +03:00
parent 9466e07237
commit eefdfe6d5d
5 changed files with 481 additions and 22 deletions

View File

@@ -1,6 +1,6 @@
# Quoter Features
Simple file upload/download proxy with user quotas and S3 storage.
Simple file upload/download proxy with thumbnail generation and S3 storage.
## What Quoter Does
@@ -13,22 +13,29 @@ Simple file upload/download proxy with user quotas and S3 storage.
### 📁 File Storage
- **S3-compatible storage** (Storj primary, AWS fallback)
- **Redis caching** for file metadata and quotas
- **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**: Simple file upload/download + S3 storage
**Vercel**: Smart thumbnails + optimization + global CDN
**Quoter**: File upload/download + thumbnail generation + S3 storage
**Vercel**: Global CDN + edge optimization
💋 **Ultra-simple**: Quoter just handles raw files. That's it.
💋 **Simplified**: Focus on what each service does best.
💋 **Self-contained**: Quoter handles everything - uploads, thumbnails, and serving.
💋 **Reliable**: No external dependencies for core functionality.
## Technical Stack
@@ -44,5 +51,7 @@ Simple file upload/download proxy with user quotas and S3 storage.
- ✅ S3 storage integration
- ✅ JWT authentication
- ✅ Rate limiting & security
- ✅ Thumbnail generation with Storj caching
- ✅ ETag caching for performance
- ✅ Full test coverage
- 🚀 Production ready