Skip to content

Implement album cover art upload and retrieval #80

Description

@Akatenvictor

What

Implement an album cover art upload and retrieval endpoint that stores cover images via Pinata and serves optimized thumbnails.

Why

Albums and songs currently lack a standardized way to display cover artwork. Cover art is essential for user experience and marketplace listing quality.

Scope

  • In: Cover art upload via Pinata, thumbnail generation, entity association, retrieval endpoints
  • Out: Cover art editing/replacement, AI-generated artwork, aspect ratio validation

Acceptance Criteria

  • POST /api/songs/:id/cover-art uploads and associates cover art
  • Cover art stored in Pinata via existing PinataService
  • Thumbnail variants generated: 150px, 300px, 600px
  • GET /api/songs/:id/cover-art returns cover art URLs including thumbnails
  • File size limit: 10MB max
  • Supported formats: JPEG, PNG, WebP
  • Cover art URL stored on Song entity

Technical Context

  • Extend existing PinataService for cover art pinning
  • Song entity needs coverArtIpfsHash field
  • Upload middleware in src/middlewares/upload for file handling
  • ImageFile validator in src/validators/ for format validation
  • SongProcessorWorker could handle thumbnail generation

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions