localgreenchain/components
Claude d74128d3cd
Add Agent 3: File Upload & Storage System
Implements cloud-based file storage for plant photos, documents, and certificates:

Storage Layer:
- Multi-provider support (AWS S3, Cloudflare R2, MinIO, local filesystem)
- S3-compatible provider with presigned URL generation
- Local storage provider for development with signed URL verification
- Configurable via environment variables

Image Processing:
- Automatic thumbnail generation (150x150, 300x300, 600x600, 1200x1200)
- WebP conversion for optimized file sizes
- EXIF data extraction for image metadata
- Image optimization with Sharp

API Endpoints:
- POST /api/upload/image - Upload images with automatic processing
- POST /api/upload/document - Upload documents (PDF, DOC, DOCX)
- POST /api/upload/presigned - Get presigned URLs for direct uploads
- GET/DELETE /api/upload/[fileId] - File management

UI Components:
- ImageUploader - Drag & drop image upload with preview
- PhotoGallery - Grid gallery with lightbox view
- DocumentUploader - Document upload with file type icons
- ProgressBar - Animated upload progress indicator

Database:
- FileStore service with in-memory storage (Prisma schema ready for Agent 2)
- File metadata tracking with soft delete support
- Category-based file organization
2025-11-23 03:51:31 +00:00
..
analytics Add UI components for transport tracking, demand visualization, and analytics 2025-11-22 18:34:51 +00:00
demand Add UI components for transport tracking, demand visualization, and analytics 2025-11-22 18:34:51 +00:00
transport Add UI components for transport tracking, demand visualization, and analytics 2025-11-22 18:34:51 +00:00
upload Add Agent 3: File Upload & Storage System 2025-11-23 03:51:31 +00:00
vertical-farm Add vertical farming UI components and pages 2025-11-22 18:35:57 +00:00
EnvironmentalDisplay.tsx Add environmental tracking UI components and integrations 2025-11-16 16:58:53 +00:00
EnvironmentalForm.tsx Add environmental tracking UI components and integrations 2025-11-16 16:58:53 +00:00
footer.tsx Initial commit 2023-08-09 21:34:23 +00:00
form-item.tsx Initial commit 2023-08-09 21:34:23 +00:00
formatted-text.tsx Initial commit 2023-08-09 21:34:23 +00:00
layout.tsx Initial commit 2023-08-09 21:34:23 +00:00
link.tsx Initial commit 2023-08-09 21:34:23 +00:00
links.tsx Initial commit 2023-08-09 21:34:23 +00:00
locale-switcher.tsx Initial commit 2023-08-09 21:34:23 +00:00
media--image.tsx Initial commit 2023-08-09 21:34:23 +00:00
media.tsx Initial commit 2023-08-09 21:34:23 +00:00
meta.tsx Initial commit 2023-08-09 21:34:23 +00:00
navbar.tsx Initial commit 2023-08-09 21:34:23 +00:00
node--article.tsx Initial commit 2023-08-09 21:34:23 +00:00
node--landing-page.tsx Initial commit 2023-08-09 21:34:23 +00:00
node--page.tsx Initial commit 2023-08-09 21:34:23 +00:00
node--property.tsx Initial commit 2023-08-09 21:34:23 +00:00
node.tsx Initial commit 2023-08-09 21:34:23 +00:00
pager.tsx Initial commit 2023-08-09 21:34:23 +00:00
paragraph--cards.tsx Initial commit 2023-08-09 21:34:23 +00:00
paragraph--faq.tsx Initial commit 2023-08-09 21:34:23 +00:00
paragraph--feature.tsx Initial commit 2023-08-09 21:34:23 +00:00
paragraph--hero.tsx Initial commit 2023-08-09 21:34:23 +00:00
paragraph--view.tsx Initial commit 2023-08-09 21:34:23 +00:00
paragraph.tsx Initial commit 2023-08-09 21:34:23 +00:00
PrivacySettings.tsx Add Tor integration and privacy features for anonymous plant sharing 2025-11-16 12:32:59 +00:00
section-header.tsx Initial commit 2023-08-09 21:34:23 +00:00
section.tsx Initial commit 2023-08-09 21:34:23 +00:00
view--properties_listing.tsx Initial commit 2023-08-09 21:34:23 +00:00