This project is aiming to optimise the difficult process of transferring songs and playlists from one music streaming platform to another. The main difficulty is that the platforms in question have shockingly different API methods as well as rate limiting rules and policies.
.
├── LICENSE
└── api
├── README.md
├── nest-cli.json
├── package-lock.json
├── package.json
├── src
│ ├── app.controller.spec.ts
│ ├── app.controller.ts
│ ├── app.module.ts
│ ├── app.service.ts
│ ├── main.ts
│ └── modules
│ ├── apple-music
│ │ ├── apple-music.controller.spec.ts
│ │ ├── apple-music.controller.ts
│ │ ├── apple-music.module.ts
│ │ ├── apple-music.service.spec.ts
│ │ ├── apple-music.service.ts
│ │ ├── dto
│ │ │ ├── create-apple-music.dto.ts
│ │ │ └── update-apple-music.dto.ts
│ │ └── entities
│ │ └── apple-music.entity.ts
│ ├── deezer
│ │ ├── deezer.controller.spec.ts
│ │ ├── deezer.controller.ts
│ │ ├── deezer.module.ts
│ │ ├── deezer.service.spec.ts
│ │ ├── deezer.service.ts
│ │ ├── dto
│ │ │ ├── create-deezer.dto.ts
│ │ │ └── update-deezer.dto.ts
│ │ └── entities
│ │ └── deezer.entity.ts
│ ├── spotify
│ │ ├── dto
│ │ │ ├── create-spotify.dto.ts
│ │ │ └── update-spotify.dto.ts
│ │ ├── entities
│ │ │ ├── spotifyPlaylists.entity.ts
│ │ │ └── spotifySongs.entity.ts
│ │ ├── spotify.controller.spec.ts
│ │ ├── spotify.controller.ts
│ │ ├── spotify.module.ts
│ │ ├── spotify.service.spec.ts
│ │ ├── spotify.service.ts
│ │ └── types
│ │ ├── spotifyPlaylistItems.ts
│ │ └── spotifyPlaylists.interface.ts
│ ├── yandex-music
│ │ ├── dto
│ │ │ ├── create-yandex-music.dto.ts
│ │ │ └── update-yandex-music.dto.ts
│ │ ├── entities
│ │ │ └── yandex-music.entity.ts
│ │ ├── yandex-music.controller.spec.ts
│ │ ├── yandex-music.controller.ts
│ │ ├── yandex-music.module.ts
│ │ ├── yandex-music.service.spec.ts
│ │ └── yandex-music.service.ts
│ └── youtube-music
│ ├── dto
│ │ ├── create-youtube-music.dto.ts
│ │ └── update-youtube-music.dto.ts
│ ├── entities
│ │ └── youtube-music.entity.ts
│ ├── youtube-music.controller.spec.ts
│ ├── youtube-music.controller.ts
│ ├── youtube-music.module.ts
│ ├── youtube-music.service.spec.ts
│ └── youtube-music.service.ts
├── test
│ ├── app.e2e-spec.ts
│ └── jest-e2e.json
├── tsconfig.build.json
└── tsconfig.json
The project is deployed using Docker-compose and GitHub Actions. To run the project, do the following: