Skip to content

Media Storage Management System #119

Description

@respp

📘 Issue Description

Develop a complete file management system that enhances the existing basic upload, implementing a robust system for handling merchant logos, verification documents, generated reports, and other system files. The current system is very basic and needs enterprise-level functionalities.

The system should include:

  • Intelligent storage with multiple providers (local, S3, etc.)
  • Automatic image processing (resize, compression, thumbnails)
  • Virus scanning system for uploaded files
  • File metadata and categorization management
  • Complete CRUD API for files
  • Automatic cleanup system for orphaned files

🔍 Steps

  1. Extend existing file upload service (fileUpload.service.ts)
  2. Implement multiple storage providers (local, S3, etc.)
  3. Add automatic image processing
  4. Create virus scanning system
  5. Develop metadata and tag management
  6. Implement automatic cleanup system
  7. Create complete file management API
  8. Add automatic compression and optimization

✅ Acceptance Criteria

  • Support for multiple storage providers (local, AWS S3, Google Cloud)
  • Automatic image processing (resize, thumbnails, compression)
  • Virus scanning for all uploaded files
  • Metadata system (tags, categories, descriptions)
  • Complete REST API for file management (/api/files)
  • Automatic cleanup of unreferenced files
  • Configurable limits by user type
  • Automatic watermarking for sensitive images

🌎 References

  • Existing file upload: src/services/fileUpload.service.ts
  • Controller: src/controllers/fileUpload.controller.ts
  • Middleware: src/middlewares/fileUploadMiddleware.ts

📜 Additional Notes

This feature significantly improves system asset management and is especially important for merchants who need to upload logos, verification documents, and other branding materials.

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programonlydust-waveContribute to awesome OSS repos during OnlyDust's open source week

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions