feat: add media upload pipeline with multipart support, blurhash generation, and R2 storage

- Add project_media table with image/video variants, ordering, and metadata
- Implement multipart upload handlers with 50MB limit
- Generate blurhash placeholders and resize images to thumb/medium/full variants
- Update ProjectCard to use media carousel instead of mock gradients
- Add MediaManager component for drag-drop upload and reordering
This commit is contained in:
2026-01-14 22:34:15 -06:00
parent 39a4e702fd
commit e83133cfcc
33 changed files with 3462 additions and 226 deletions
+3 -1
View File
@@ -11,12 +11,14 @@ path = "src/main.rs"
argon2 = "0.5"
aws-config = "1.8.12"
aws-sdk-s3 = "1.119.0"
axum = "0.8.8"
axum = { version = "0.8.8", features = ["multipart"] }
axum-extra = { version = "0.12", features = ["cookie"] }
blurhash = "0.2.3"
clap = { version = "4.5.54", features = ["derive", "env"] }
dashmap = "6.1.0"
dotenvy = "0.15"
futures = "0.3.31"
image = "0.25.9"
include_dir = "0.7.4"
mime_guess = "2.0.5"
moka = { version = "0.12.12", features = ["future"] }