Skip to content

sort of mini-spotify infrastructure to upload a track and return a user with url service

Notifications You must be signed in to change notification settings

Bridge98/Sp00tify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sp00tify

A sort of mini-spotify Upload Track service.

  • Backend: Spring Boot (API + upload handler + metadata)
  • Frontend: Next.js + TypeScript
  • Storage: S3-compatible (AWS S3 or MinIO)
  • DB: PostgreSQL
  • Auth: JWT (OAuth2 in the future)
  • Processing Async: (Kafka / RabbitMQ) to audio analysis
Screenshot 2026-02-19 alle 11 26 13

How the upload works:

  • auth user upload the bounce file of the track

  • Backend:

    • save metadata into DB
    • upload the audio file on S3 (MinIO)
    • return track ID + URL streaming
  • Parameters of the track object:

    • file (audio)
    • cover (image)
    • title
    • genre

Next Updates needed:

  • 🎚️ (AAA) Auto Audio Analysis
    • BPM detection
    • Key detection
    • Loudness normalization (LUFS)
    • Waveform preview
    • Workflow: Upload Evento Kafka Microservizio analizza file Salva metadata audio nel DB
  • 🎛️ Loudness normalization
    • Normalization around -14 LUFS.
    • ffmpeg
    • Essentia
    • librosa (Python microservice)
  • 🔐 Security
    • JWT with Spring Security
    • upload size limitation
    • MIME type validation
    • Scan antivirus (optional)
    • Rate limiting
  • 🧱 Evolution (production-grade)
    • API Gateway
    • Microservices: auth-service, track-service, streaming-service
    • CDN Audio
    • Presigned URLs to direct upload in S3
    • caching with Redis
    • Dockerization
    • Deploy on AWS / Railway / Render...

About

sort of mini-spotify infrastructure to upload a track and return a user with url service

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published