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

1.8 KiB

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