Transformar GYTECH Cloud en una herramienta de file sharing simple y eficiente, enfocada únicamente en subir y compartir archivos temporalmente (no almacenamiento a largo plazo).
- Implementar preview inline para PDFs, imágenes, videos y documentos
- Usar
<iframe>,<embed>y<object>tags para embedder archivos - Integrar Google Viewer para documentos (Word, Excel, PowerPoint)
- Generar thumbnails automáticos para imágenes y videos
- Crear endpoints para acceso directo a archivos individuales
- Implementar header
Content-Disposition: inlinepara preview en navegador - Generar URLs públicas para cada archivo dentro del share
- Habilitar hotlinking opcional para casos de uso específicos
Arquitectura Actual: Solo S3 + Local Storage Propuesta: Agregar soporte para:
- OneDrive - Microsoft Graph API
- Google Drive - Google Drive API
- Azure Blob Storage - Azure Storage SDK
- Dropbox - Dropbox API
Implementación:
- Crear abstract
CloudStorageServiceinterface - Implementar servicios específicos por proveedor
- Actualizar
FileService.getStorageService()para soporte multi-provider - Configuración per-share de storage provider
- Interfaz estilo WeTransfer: drag & drop prominente
- Proceso de upload en 2 pasos máximo
- Página de share minimalista con preview
- Progress indicators claros durante upload
- Links con tokens de acceso únicos
- Expiración automática configurable
- Password protection opcional
- Rate limiting por IP para downloads
- Implementar vista previa de archivos
- Crear links directos a archivos individuales
- Mejorar UI de upload (drag & drop simple)
- Optimizar páginas de share para preview
- Implementar OneDrive integration
- Implementar Google Drive integration
- Implementar Azure Blob Storage
- Crear interface unificada de configuración
- Implementar tokens únicos para files
- Agregar configuración de expiración granular
- Mejorar error handling y user feedback
- Testing y optimización
- Nuevo
CloudStorageInterfaceabstracto - Servicios específicos:
OneDriveService,GoogleDriveService,AzureBlobService - Nuevos endpoints:
GET /api/shares/:id/files/:fileId/preview - Metadata extendida para archivos (mimeType, thumbnails)
- Componente
FilePreviewpara múltiples tipos - UI simplificada estilo WeTransfer
- Drag & drop mejorado con progress indicators
- Links directos copiables para cada archivo
- Campo
storageProvideren tabla Share - Tabla
FileMetadatapara thumbnails y preview data - Índices optimizados para performance
- Smash - Transfers ilimitados, enlaces personalizados, 1-30 días de disponibilidad
- Send Anywhere - Transfers directos con códigos de 6 dígitos, hasta 10GB
- TransferNow - 5GB gratis, 7 días de disponibilidad, sin registro
- SwissTransfer - 50GB gratis, almacenamiento en Suiza, enfoque en privacidad
- FileTransfer.io - 6GB drag & drop, URLs compartibles instantáneas
- Temporalidad: Archivos disponibles por tiempo limitado (1-30 días)
- Sin Registro: Transferencias sin crear cuenta
- Seguridad: Cifrado end-to-end, password protection
- Simplicidad: UI minimalista, proceso de 1-2 pasos
- Links Directos: URLs públicas para archivos individuales
- Kloudless - API unificada para múltiples proveedores
- lytics/cloudstorage - Librería Go para múltiples clouds
- Cloud Files SDK - SDK unificado para OneDrive, Google Drive, S3, Azure Blob
- PDFs:
<iframe src="file.pdf">o Google PDF Viewer - Imágenes: Preview directo con thumbnails
- Videos:
<video>tag con controles nativos - Documentos: Google Docs Viewer para Word/Excel/PowerPoint
- Código: Syntax highlighting para archivos de código
- Endpoint:
GET /api/files/:fileId/direct - Headers:
Content-Disposition: inlinepara preview - Tokens únicos por archivo para seguridad
- URLs amigables:
/f/:tokenredirect a archivo real
interface CloudStorageProvider {
upload(file: Buffer, path: string): Promise<string>;
download(path: string): Promise<Buffer>;
delete(path: string): Promise<void>;
getUrl(path: string): Promise<string>;
getMetadata(path: string): Promise<FileMetadata>;
}- Upload Speed: > 50MB/s promedio
- Preview Load Time: < 2s para archivos < 50MB
- User Flow: Upload completo en < 60s
- Storage Flexibility: Soporte para 5+ proveedores
- Security: 100% de archivos con tokens únicos
Plan creado el: 2025-08-07