From 89569736b7490015fd294a35af36f0f37d692988 Mon Sep 17 00:00:00 2001 From: XShine555 Date: Wed, 9 Sep 2026 14:27:50 +0200 Subject: [PATCH] Reorganize backend to mirror Musify.slnx folder structure Moves the six backend projects on disk into Core/ and Hosts/ subfolders, matching the solution folders already defined in Musify.slnx, so the file explorer reflects the same layout as the solution: backend/Core/Musify.Domain backend/Core/Musify.Application backend/Core/Musify.Infrastructure backend/Hosts/Musify.Api backend/Hosts/Musify.Worker backend/Hosts/Musify.StreamingGateway Updates every reference to the old paths: ProjectReference entries in Musify.Api.csproj and Musify.Worker.csproj, the three Dockerfiles, deploy/scripts/migrate.ps1|sh, deploy/zitadel/provision.ps1, deploy/up.ps1, deploy/README.md and docs/development.md. Also fixes a stale Dockerfile comment pointing at a compose file that no longer exists. Verified with `dotnet build Musify.slnx` against the new layout. --- .../Musify.Application/Albums/AddTrackToAlbum.cs | 0 .../Musify.Application/Albums/CreateAlbum.cs | 0 .../Musify.Application/Albums/DeleteAlbum.cs | 0 .../Musify.Application/Albums/GetAlbumById.cs | 0 .../Musify.Application/Albums/GetAlbumTracks.cs | 0 .../Musify.Application/Albums/GetAlbums.cs | 0 .../Albums/GetAlbumsByUserId.cs | 0 .../Albums/GetRecentlyListenedAlbums.cs | 0 .../Albums/RemoveTrackFromAlbum.cs | 0 .../Albums/Responses/AlbumApplicationResponse.cs | 0 .../Musify.Application/Albums/UpdateAlbum.cs | 0 .../ApplicationDependencyInjection.cs | 0 .../{ => Core}/Musify.Application/AssemblyInfo.cs | 0 .../ApplicationStorageConfiguration.cs | 0 .../ConfigurationDependencyInjection.cs | 0 .../Configuration/MixConfiguration.cs | 0 .../Configuration/PlayListConfiguration.cs | 0 .../Configuration/StreamGatewayConfiguration.cs | 0 .../Configuration/TrackConfiguration.cs | 0 .../Configuration/UploadIntentConfiguration.cs | 0 .../Contracts/AudioTranscodeResult.cs | 0 .../Contracts/IAudioTranscoderService.cs | 0 .../Musify.Application/Contracts/IDatabase.cs | 0 .../Contracts/IDatabaseTransaction.cs | 0 .../Musify.Application/Contracts/IEventBus.cs | 0 .../Contracts/IPictureService.cs | 0 .../Contracts/IStorageService.cs | 0 .../Contracts/IStreamTicketService.cs | 0 .../Contracts/IYouTubeDownloaderService.cs | 0 .../Contracts/IYouTubeMusicService.cs | 0 .../Contracts/ObjectMetaData.cs | 0 .../Musify.Application/Contracts/StorageObject.cs | 0 .../Events/CreatePlayListResourcesEvent.cs | 0 .../Events/CreateTrackResourcesEvent.cs | 0 .../Events/DeletePlayListEvent.cs | 0 .../Musify.Application/Events/DeleteTrackEvent.cs | 0 .../Events/DownloadYouTubeTrackEvent.cs | 0 .../Events/PlayListPictureProcessed.cs | 0 .../Events/PlayListPictureProcessingFailed.cs | 0 .../Events/PlayListProcessingFailed.cs | 0 .../Events/TrackAudioProcessed.cs | 0 .../Events/TrackAudioProcessingFailed.cs | 0 .../Events/TrackPictureProcessed.cs | 0 .../Events/TrackPictureProcessingFailed.cs | 0 .../Events/TrackProcessingFailed.cs | 0 .../Events/UpdatePlayListPictureEvent.cs | 0 .../Events/UpdatePlayListPictureSourceEvent.cs | 0 .../Events/UpdateTrackAudioEvent.cs | 0 .../Events/UpdateTrackPictureEvent.cs | 0 .../Mixes/GenerateMixesForUser.cs | 0 .../Musify.Application/Mixes/GetMixById.cs | 0 .../Musify.Application/Mixes/GetMixesByUserId.cs | 0 .../Mixes/Responses/MixApplicationResponse.cs | 0 .../Mixes/Responses/MixItemApplicationResponse.cs | 0 .../Musify.Application/Musify.Application.csproj | 0 .../PlayLists/AddTrackToPlayList.cs | 0 .../PlayLists/AddYouTubeTrackToPlayList.cs | 0 .../PlayLists/CreatePlayList.cs | 0 .../PlayLists/DeletePlayList.cs | 0 .../PlayLists/GetPlayListById.cs | 0 .../PlayLists/GetPlayListCover.cs | 0 .../PlayLists/GetPlayListTracks.cs | 0 .../Musify.Application/PlayLists/GetPlayLists.cs | 0 .../PlayLists/GetPlayListsByUserId.cs | 0 .../PlayLists/RemoveTrackFromPlayList.cs | 0 .../PlayLists/RequestPlayListPictureUpload.cs | 0 .../Responses/PlayListApplicationResponse.cs | 0 .../Responses/PlayListPictureUploadResponse.cs | 0 .../PlayLists/UpdatePlayList.cs | 0 .../Services/TrackStreamIssuer.cs | 0 .../Services/UploadIntentValidator.cs | 0 .../Services/YouTubeTrackProvisioner.cs | 0 .../Musify.Application/Shared/ImageSize.cs | 0 .../Shared/PaginatedResponse.cs | 0 .../Musify.Application/Shared/StorageKey.cs | 0 .../Musify.Application/Tracks/CreateTrack.cs | 0 .../Musify.Application/Tracks/DeleteTrack.cs | 0 .../Tracks/GetListeningHistory.cs | 0 .../Musify.Application/Tracks/GetTrackById.cs | 0 .../Musify.Application/Tracks/GetTrackCover.cs | 0 .../Musify.Application/Tracks/GetTrackStream.cs | 0 .../Musify.Application/Tracks/GetTracks.cs | 0 .../Tracks/GetTracksByUserId.cs | 0 .../Tracks/RequestTrackUploadUrls.cs | 0 .../Tracks/Responses/TrackApplicationResponse.cs | 0 .../Tracks/Responses/TrackStreamResponse.cs | 0 .../Tracks/Responses/TrackUploadUrlsResponse.cs | 0 .../Musify.Application/Users/CreateUser.cs | 0 .../Musify.Application/Users/GetUserById.cs | 0 .../Musify.Application/Users/GetUsers.cs | 0 .../Users/Responses/UserApplicationResponse.cs | 0 .../Musify.Application/Users/SyncUser.cs | 0 .../Musify.Application/YouTube/GetYouTubeAlbum.cs | 0 .../YouTube/ResolveYouTubeTrackStream.cs | 0 .../YouTube/Responses/YouTubeStreamResponse.cs | 0 .../YouTube/SearchYouTubeAlbums.cs | 0 .../YouTube/SearchYouTubeTracks.cs | 0 .../Musify.Domain/Abstractions/IAuditable.cs | 0 .../{ => Core}/Musify.Domain/Entities/Album.cs | 0 .../Musify.Domain/Entities/AlbumHasTrack.cs | 0 .../{ => Core}/Musify.Domain/Entities/Artist.cs | 0 .../Musify.Domain/Entities/ExternalAlbum.cs | 0 .../Musify.Domain/Entities/ExternalTrack.cs | 0 .../Musify.Domain/Entities/ListeningHistory.cs | 0 .../Musify.Domain/Entities/LocalTrack.cs | 0 backend/{ => Core}/Musify.Domain/Entities/Mix.cs | 0 .../{ => Core}/Musify.Domain/Entities/MixItem.cs | 0 .../{ => Core}/Musify.Domain/Entities/PlayList.cs | 0 .../Musify.Domain/Entities/PlayListHasTrack.cs | 0 .../{ => Core}/Musify.Domain/Entities/Track.cs | 0 .../Musify.Domain/Entities/TrackArtist.cs | 0 .../{ => Core}/Musify.Domain/Entities/Upload.cs | 0 .../Musify.Domain/Entities/UploadIntent.cs | 0 backend/{ => Core}/Musify.Domain/Entities/User.cs | 0 .../Musify.Domain/Entities/UserAlbum.cs | 0 .../Musify.Domain/Entities/UserHasTrack.cs | 0 .../{ => Core}/Musify.Domain/Musify.Domain.csproj | 0 .../Musify.Domain/ValueObjects/AlbumPictures.cs | 0 .../Musify.Domain/ValueObjects/LifeCycleStatus.cs | 0 .../Musify.Domain/ValueObjects/MixItemSource.cs | 0 .../ValueObjects/PlayListPictures.cs | 0 .../ValueObjects/ProcessingStatus.cs | 0 .../Musify.Domain/ValueObjects/TrackAudio.cs | 0 .../Musify.Domain/ValueObjects/TrackPictures.cs | 0 .../Musify.Domain/ValueObjects/TrackSource.cs | 0 .../ValueObjects/UploadIntentPurpose.cs | 0 .../ValueObjects/UploadIntentStatus.cs | 0 .../Musify.Domain/ValueObjects/UploadState.cs | 0 .../Assets/PlayListDefaultCover.png | Bin .../Configuration/AudioConfiguration.cs | 0 .../Configuration/DatabaseConfiguration.cs | 0 .../InfrastructureStorageConfiguration.cs | 0 .../Configuration/MassTransitConfiguration.cs | 0 .../Configuration/OpenTelemetryConfiguration.cs | 0 .../Configuration/StreamTicketConfiguration.cs | 0 .../Configuration/WorkerConfiguration.cs | 0 .../Configuration/YouTubeConfiguration.cs | 0 .../Configuration/YtDlpConfiguration.cs | 0 .../Musify.Infrastructure/DesignSettings.json | 0 .../Helpers/YouTubeThumbNailHelper.cs | 0 .../Jobs/DailyMixGenerationJob.cs | 0 .../Jobs/TemporalUploadsCleanupJob.cs | 0 .../Jobs/UploadIntentExpirationJob.cs | 0 .../Audio/DownloadYouTubeAudioActivity.cs | 0 .../Audio/GenerateAudioWorkflowPathsActivity.cs | 0 .../Activities/Audio/TranscodeAudioActivity.cs | 0 .../Activities/Audio/UpdateTrackAudioActivity.cs | 0 .../Activities/Files/CopyFileInBucketActivity.cs | 0 .../Files/DownloadFileFromBucketActivity.cs | 0 .../Files/DownloadFileFromUrlActivity.cs | 0 .../Files/RemoveFileFromBucketActivity.cs | 0 .../Files/TransferFilesToBucketActivity.cs | 0 .../Files/UploadFileToBucketActivity.cs | 0 .../GeneratePictureWorkflowPathsActivity.cs | 0 .../Activities/Pictures/ResizePictureActivity.cs | 0 .../Pictures/UpdatePlayListPictureActivity.cs | 0 .../Pictures/UpdateTrackPictureActivity.cs | 0 .../PlayLists/DeletePlayListFromDbActivity.cs | 0 .../PlayLists/MarkPlayListAsFailedActivity.cs | 0 .../PlayLists/MarkPlayListAsRemovingActivity.cs | 0 ...blishPlayListPictureProcessingEventActivity.cs | 0 .../Tracks/DeleteTrackFromDbActivity.cs | 0 .../Tracks/MarkTrackAsFailedActivity.cs | 0 .../Tracks/MarkTrackAsRemovingActivity.cs | 0 .../PublishTrackProcessingEventsActivity.cs | 0 .../UploadIntents/ConsumeUploadIntentsActivity.cs | 0 .../Arguments/ConsumeUploadIntentsArguments.cs | 0 .../Arguments/CopyFileInBucketArguments.cs | 0 .../Arguments/DeletePlayListFromDbArguments.cs | 0 .../Arguments/DeleteTrackFromDbArguments.cs | 0 .../Arguments/DownloadFileFromBucketArguments.cs | 0 .../Arguments/DownloadFileFromUrlArguments.cs | 0 .../Arguments/DownloadYouTubeAudioArguments.cs | 0 .../GenerateAudioWorkflowPathsArguments.cs | 0 .../GeneratePictureWorkflowPathsArguments.cs | 0 .../Arguments/MarkPlayListAsFailedArguments.cs | 0 .../Arguments/MarkPlayListAsRemovingArguments.cs | 0 .../Arguments/MarkTrackAsFailedArguments.cs | 0 .../Arguments/MarkTrackAsRemovingArguments.cs | 0 ...lishPlayListPictureProcessingEventArguments.cs | 0 .../PublishTrackProcessingEventsArguments.cs | 0 .../Arguments/RemoveFileFromBucketArguments.cs | 0 .../Arguments/ResizePictureLocalArguments.cs | 0 .../Arguments/TranscodeAudioArguments.cs | 0 .../Arguments/TransferFilesToBucketArguments.cs | 0 .../Arguments/UpdatePlayListPictureArguments.cs | 0 .../Arguments/UpdateTrackAudioArguments.cs | 0 .../Arguments/UpdateTrackPictureArguments.cs | 0 .../Arguments/UploadFileToBucketArguments.cs | 0 .../Consumers/CreatePlayListConsumer.cs | 0 .../MassTransit/Consumers/CreateTrackConsumer.cs | 0 .../Consumers/DeletePlayListConsumer.cs | 0 .../MassTransit/Consumers/DeleteTrackConsumer.cs | 0 .../Consumers/DownloadYouTubeTrackConsumer.cs | 0 .../MassTransit/Consumers/EndpointHelper.cs | 0 .../Consumers/PlayListProcessingFailedConsumer.cs | 0 .../Consumers/ProcessingSlipFaultConsumer.cs | 0 .../Consumers/RoutingSlipCleanUpConsumer.cs | 0 .../Consumers/TrackProcessingFailedConsumer.cs | 0 .../Consumers/UpdatePlayListPictureConsumer.cs | 0 .../UpdatePlayListPictureSourceConsumer.cs | 0 .../Consumers/UpdateTrackAudioConsumer.cs | 0 .../Consumers/UpdateTrackPictureConsumer.cs | 0 .../MassTransitDependencyInjection.Options.cs | 0 ...MassTransitDependencyInjection.Registration.cs | 0 .../MassTransitDependencyInjection.cs | 0 .../MassTransit/Logs/ConsumeUploadIntentsLog.cs | 0 .../MassTransit/Logs/CopyFileInBucketLog.cs | 0 .../MassTransit/Logs/DownloadFileFromBucketLog.cs | 0 .../MassTransit/Logs/DownloadFileFromUrlLog.cs | 0 .../MassTransit/Logs/DownloadYouTubeAudioLog.cs | 0 .../Logs/GeneratePictureWorkflowPathsLog.cs | 0 .../MassTransit/Logs/ResizePictureLog.cs | 0 .../MassTransit/Logs/TranscodeAudioLog.cs | 0 .../MassTransit/Logs/TransferFilesToBucketLog.cs | 0 .../MassTransit/Logs/UpdatePlayListPictureLog.cs | 0 .../MassTransit/Logs/UpdateTrackAudioLog.cs | 0 .../MassTransit/Logs/UpdateTrackPictureLog.cs | 0 .../MassTransit/Logs/UploadFileToBucketLog.cs | 0 .../MassTransit/MassTransitEventBus.cs | 0 .../MassTransit/RoutingSlip/ActivityNames.cs | 0 .../Builders/AudioWorkflowRoutingSlipBuilder.cs | 0 .../Builders/CreateTrackRoutingSlipBuilder.cs | 0 .../Builders/DeletePlayListRoutingSlipBuilder.cs | 0 .../Builders/DeleteTrackRoutingSlipBuilder.cs | 0 .../Builders/PictureWorkflowRoutingSlipBuilder.cs | 0 .../PlayListPictureSourceRoutingSlipBuilder.cs | 0 .../Builders/YouTubeTrackRoutingSlipBuilder.cs | 0 .../RoutingSlip/RoutingSlipVariableNames.cs | 0 .../MassTransit/Sagas/PlayListProcessingState.cs | 0 .../Sagas/PlayListProcessingStateMachine.cs | 0 .../MassTransit/Sagas/TrackProcessingState.cs | 0 .../Sagas/TrackProcessingStateMachine.cs | 0 .../Musify.Infrastructure.csproj | 0 .../OpenTelemetryDependencyInjection.cs | 0 .../Persistence/AuditableEntityInterceptor.cs | 0 .../Musify.Infrastructure/Persistence/Database.cs | 0 .../Persistence/DatabaseDependencyInjection.cs | 0 .../Persistence/DatabaseDesignTimeFactory.cs | 0 .../20260530020027_InitialCreate.Designer.cs | 0 .../Migrations/20260530020027_InitialCreate.cs | 0 ...531234306_AddUserProfilePictureUrl.Designer.cs | 0 .../20260531234306_AddUserProfilePictureUrl.cs | 0 ...601195757_RenameTimestampsAndAudit.Designer.cs | 0 .../20260601195757_RenameTimestampsAndAudit.cs | 0 ...123932_AddTrackProcessingStateSaga.Designer.cs | 0 .../20260705123932_AddTrackProcessingStateSaga.cs | 0 ...5124807_AddTrackProcessingSagaKeys.Designer.cs | 0 .../20260705124807_AddTrackProcessingSagaKeys.cs | 0 ...356_AddPlayListProcessingStateSaga.Designer.cs | 0 ...260705125356_AddPlayListProcessingStateSaga.cs | 0 ...20260713234847_AddListeningHistory.Designer.cs | 0 .../20260713234847_AddListeningHistory.cs | 0 .../20260714114537_AddTrackDuration.Designer.cs | 0 .../Migrations/20260714114537_AddTrackDuration.cs | 0 ...951_AddTrackSourceArtistExternalId.Designer.cs | 0 ...260715193951_AddTrackSourceArtistExternalId.cs | 0 ...15230836_AddTrackDownloadRequested.Designer.cs | 0 .../20260715230836_AddTrackDownloadRequested.cs | 0 ...akeTrackMediaAndExternalIdNullable.Designer.cs | 0 ...6214442_MakeTrackMediaAndExternalIdNullable.cs | 0 ...214752_AddArtistsAndTrackOwnership.Designer.cs | 0 .../20260716214752_AddArtistsAndTrackOwnership.cs | 0 ...260716220047_DropTrackArtistColumn.Designer.cs | 0 .../20260716220047_DropTrackArtistColumn.cs | 0 ...32_MovePlayListPicturesToOwnedType.Designer.cs | 0 ...60717164632_MovePlayListPicturesToOwnedType.cs | 0 ...nameTrackDurationToDurationSeconds.Designer.cs | 0 ...164812_RenameTrackDurationToDurationSeconds.cs | 0 ...507_SplitTrackIntoLocalAndExternal.Designer.cs | 0 ...260717172507_SplitTrackIntoLocalAndExternal.cs | 0 ...23358_MakePlayListPicturesNullable.Designer.cs | 0 ...20260717223358_MakePlayListPicturesNullable.cs | 0 .../20260720180629_WidenTrackTitle.Designer.cs | 0 .../Migrations/20260720180629_WidenTrackTitle.cs | 0 .../20260720180747_AddAlbums.Designer.cs | 0 .../Migrations/20260720180747_AddAlbums.cs | 0 ...60720184656_AddUserAlbumExternalId.Designer.cs | 0 .../20260720184656_AddUserAlbumExternalId.cs | 0 .../20260721155102_AddMixes.Designer.cs | 0 .../Migrations/20260721155102_AddMixes.cs | 0 ...21161653_RemoveUserAlbumExternalId.Designer.cs | 0 .../20260721161653_RemoveUserAlbumExternalId.cs | 0 .../20260721162102_DropMixGeneratedOn.Designer.cs | 0 .../20260721162102_DropMixGeneratedOn.cs | 0 ...35_MakePlayListDescriptionOptional.Designer.cs | 0 ...60721190735_MakePlayListDescriptionOptional.cs | 0 .../20260724170051_DurationAsDouble.Designer.cs | 0 .../Migrations/20260724170051_DurationAsDouble.cs | 0 .../20260724181012_AddExternalAlbums.Designer.cs | 0 .../20260724181012_AddExternalAlbums.cs | 0 ...24182659_AddExternalAlbumThumbnail.Designer.cs | 0 .../20260724182659_AddExternalAlbumThumbnail.cs | 0 .../Migrations/DatabaseModelSnapshot.cs | 0 .../Services/AudioTranscoderService.cs | 0 .../Services/PictureService.cs | 0 .../Services/PlayListPresetSeeder.cs | 0 .../Services/ServicesDependencyInjection.cs | 0 .../Services/SingleFlightCache.cs | 0 .../Services/StorageService.cs | 0 .../Services/StreamTicketService.cs | 0 .../Services/YouTubeDownloaderService.cs | 0 .../Services/YouTubeMusicService.cs | 0 .../Musify.Api/AppSettings.Development.json | 0 backend/{ => Hosts}/Musify.Api/AppSettings.json | 0 .../Authentication/AuthenticationConfiguration.cs | 0 .../Authentication/AuthenticationExtensions.cs | 0 .../Musify.Api/Authentication/CurrentUser.cs | 0 .../Authentication/JwtBearerEventsHandler.cs | 0 .../Authentication/JwtBearerOptionsSetup.cs | 0 .../Albums/CreateAlbumRequest.cs | 0 .../Albums/UpdateAlbumRequest.cs | 0 .../PlayLists/AddYouTubeTrackRequest.cs | 0 .../PlayLists/CreatePlayListRequest.cs | 0 .../RequestPlayListPictureUploadRequest.cs | 0 .../PlayLists/UpdatePlayListRequest.cs | 0 .../Tracks/CreateTrackRequest.cs | 0 .../Tracks/RequestTrackUploadUrlsRequest.cs | 0 .../Users/CreateUserRequest.cs | 0 .../Musify.Api/Endpoints/AlbumEndpoints.cs | 0 .../Musify.Api/Endpoints/MixEndpoints.cs | 0 .../Musify.Api/Endpoints/PlayListEndpoints.cs | 0 .../Musify.Api/Endpoints/TrackEndpoints.cs | 0 .../Musify.Api/Endpoints/UserEndpoints.cs | 0 .../Musify.Api/Endpoints/YouTubeEndpoints.cs | 0 .../Extensions/ErrorOrHttpExtensions.cs | 0 .../Extensions/ServiceCollectionExtensions.cs | 0 .../Musify.Api/Filters/ValidationFilter.cs | 0 backend/{ => Hosts}/Musify.Api/Musify.Api.csproj | 6 +++--- .../Musify.Api/OpenApi/OpenApiExtensions.cs | 0 .../Musify.Api/OpenApi/OpenApiOptionsSetup.cs | 0 backend/{ => Hosts}/Musify.Api/Program.cs | 0 .../Musify.Api/Properties/launchSettings.json | 0 .../Musify.Api/Scalar/ScalarExtensions.cs | 0 .../Musify.Api/Scalar/ScalarOptionsSetup.cs | 0 .../Validators/Albums/AlbumReleaseYear.cs | 0 .../Albums/CreateAlbumRequestValidator.cs | 0 .../Albums/UpdateAlbumRequestValidator.cs | 0 .../PlayLists/AddYouTubeTrackRequestValidator.cs | 0 .../PlayLists/CreatePlayListRequestValidator.cs | 0 ...equestPlayListPictureUploadRequestValidator.cs | 0 .../PlayLists/UpdatePlayListRequestValidator.cs | 0 .../Tracks/CreateTrackRequestValidator.cs | 0 .../RequestTrackUploadUrlsRequestValidator.cs | 0 .../Users/CreateUserRequestValidator.cs | 0 backend/{ => Hosts}/Musify.Api/WebApi.http | 0 .../Authentication/TicketValidator.cs | 0 .../StreamTicketValidationOptions.cs | 0 .../Middleware/TicketValidationMiddleware.cs | 0 .../Musify.StreamingGateway.csproj | 0 .../Musify.StreamingGateway/Program.cs | 0 .../Properties/launchSettings.json | 0 .../appsettings.Development.json | 0 .../Musify.StreamingGateway/appsettings.json | 0 .../Musify.Worker/AppSettings.Development.json | 0 .../{ => Hosts}/Musify.Worker/AppSettings.json | 0 .../Musify.Worker/Musify.Worker.csproj | 6 +++--- backend/{ => Hosts}/Musify.Worker/Program.cs | 0 .../Musify.Worker/Properties/launchSettings.json | 0 backend/Musify.Api.Dockerfile | 14 +++++++------- backend/Musify.StreamingGateway.Dockerfile | 6 +++--- backend/Musify.Worker.Dockerfile | 12 ++++++------ backend/Musify.slnx | 12 ++++++------ deploy/README.md | 6 +++--- deploy/scripts/migrate.ps1 | 2 +- deploy/scripts/migrate.sh | 2 +- deploy/up.ps1 | 6 +++--- deploy/zitadel/provision.ps1 | 2 +- docs/development.md | 8 ++++---- 369 files changed, 41 insertions(+), 41 deletions(-) rename backend/{ => Core}/Musify.Application/Albums/AddTrackToAlbum.cs (100%) rename backend/{ => Core}/Musify.Application/Albums/CreateAlbum.cs (100%) rename backend/{ => Core}/Musify.Application/Albums/DeleteAlbum.cs (100%) rename backend/{ => Core}/Musify.Application/Albums/GetAlbumById.cs (100%) rename backend/{ => Core}/Musify.Application/Albums/GetAlbumTracks.cs (100%) rename backend/{ => Core}/Musify.Application/Albums/GetAlbums.cs (100%) rename backend/{ => Core}/Musify.Application/Albums/GetAlbumsByUserId.cs (100%) rename backend/{ => Core}/Musify.Application/Albums/GetRecentlyListenedAlbums.cs (100%) rename backend/{ => Core}/Musify.Application/Albums/RemoveTrackFromAlbum.cs (100%) rename backend/{ => Core}/Musify.Application/Albums/Responses/AlbumApplicationResponse.cs (100%) rename backend/{ => Core}/Musify.Application/Albums/UpdateAlbum.cs (100%) rename backend/{ => Core}/Musify.Application/ApplicationDependencyInjection.cs (100%) rename backend/{ => Core}/Musify.Application/AssemblyInfo.cs (100%) rename backend/{ => Core}/Musify.Application/Configuration/ApplicationStorageConfiguration.cs (100%) rename backend/{ => Core}/Musify.Application/Configuration/ConfigurationDependencyInjection.cs (100%) rename backend/{ => Core}/Musify.Application/Configuration/MixConfiguration.cs (100%) rename backend/{ => Core}/Musify.Application/Configuration/PlayListConfiguration.cs (100%) rename backend/{ => Core}/Musify.Application/Configuration/StreamGatewayConfiguration.cs (100%) rename backend/{ => Core}/Musify.Application/Configuration/TrackConfiguration.cs (100%) rename backend/{ => Core}/Musify.Application/Configuration/UploadIntentConfiguration.cs (100%) rename backend/{ => Core}/Musify.Application/Contracts/AudioTranscodeResult.cs (100%) rename backend/{ => Core}/Musify.Application/Contracts/IAudioTranscoderService.cs (100%) rename backend/{ => Core}/Musify.Application/Contracts/IDatabase.cs (100%) rename backend/{ => Core}/Musify.Application/Contracts/IDatabaseTransaction.cs (100%) rename backend/{ => Core}/Musify.Application/Contracts/IEventBus.cs (100%) rename backend/{ => Core}/Musify.Application/Contracts/IPictureService.cs (100%) rename backend/{ => Core}/Musify.Application/Contracts/IStorageService.cs (100%) rename backend/{ => Core}/Musify.Application/Contracts/IStreamTicketService.cs (100%) rename backend/{ => Core}/Musify.Application/Contracts/IYouTubeDownloaderService.cs (100%) rename backend/{ => Core}/Musify.Application/Contracts/IYouTubeMusicService.cs (100%) rename backend/{ => Core}/Musify.Application/Contracts/ObjectMetaData.cs (100%) rename backend/{ => Core}/Musify.Application/Contracts/StorageObject.cs (100%) rename backend/{ => Core}/Musify.Application/Events/CreatePlayListResourcesEvent.cs (100%) rename backend/{ => Core}/Musify.Application/Events/CreateTrackResourcesEvent.cs (100%) rename backend/{ => Core}/Musify.Application/Events/DeletePlayListEvent.cs (100%) rename backend/{ => Core}/Musify.Application/Events/DeleteTrackEvent.cs (100%) rename backend/{ => Core}/Musify.Application/Events/DownloadYouTubeTrackEvent.cs (100%) rename backend/{ => Core}/Musify.Application/Events/PlayListPictureProcessed.cs (100%) rename backend/{ => Core}/Musify.Application/Events/PlayListPictureProcessingFailed.cs (100%) rename backend/{ => Core}/Musify.Application/Events/PlayListProcessingFailed.cs (100%) rename backend/{ => Core}/Musify.Application/Events/TrackAudioProcessed.cs (100%) rename backend/{ => Core}/Musify.Application/Events/TrackAudioProcessingFailed.cs (100%) rename backend/{ => Core}/Musify.Application/Events/TrackPictureProcessed.cs (100%) rename backend/{ => Core}/Musify.Application/Events/TrackPictureProcessingFailed.cs (100%) rename backend/{ => Core}/Musify.Application/Events/TrackProcessingFailed.cs (100%) rename backend/{ => Core}/Musify.Application/Events/UpdatePlayListPictureEvent.cs (100%) rename backend/{ => Core}/Musify.Application/Events/UpdatePlayListPictureSourceEvent.cs (100%) rename backend/{ => Core}/Musify.Application/Events/UpdateTrackAudioEvent.cs (100%) rename backend/{ => Core}/Musify.Application/Events/UpdateTrackPictureEvent.cs (100%) rename backend/{ => Core}/Musify.Application/Mixes/GenerateMixesForUser.cs (100%) rename backend/{ => Core}/Musify.Application/Mixes/GetMixById.cs (100%) rename backend/{ => Core}/Musify.Application/Mixes/GetMixesByUserId.cs (100%) rename backend/{ => Core}/Musify.Application/Mixes/Responses/MixApplicationResponse.cs (100%) rename backend/{ => Core}/Musify.Application/Mixes/Responses/MixItemApplicationResponse.cs (100%) rename backend/{ => Core}/Musify.Application/Musify.Application.csproj (100%) rename backend/{ => Core}/Musify.Application/PlayLists/AddTrackToPlayList.cs (100%) rename backend/{ => Core}/Musify.Application/PlayLists/AddYouTubeTrackToPlayList.cs (100%) rename backend/{ => Core}/Musify.Application/PlayLists/CreatePlayList.cs (100%) rename backend/{ => Core}/Musify.Application/PlayLists/DeletePlayList.cs (100%) rename backend/{ => Core}/Musify.Application/PlayLists/GetPlayListById.cs (100%) rename backend/{ => Core}/Musify.Application/PlayLists/GetPlayListCover.cs (100%) rename backend/{ => Core}/Musify.Application/PlayLists/GetPlayListTracks.cs (100%) rename backend/{ => Core}/Musify.Application/PlayLists/GetPlayLists.cs (100%) rename backend/{ => Core}/Musify.Application/PlayLists/GetPlayListsByUserId.cs (100%) rename backend/{ => Core}/Musify.Application/PlayLists/RemoveTrackFromPlayList.cs (100%) rename backend/{ => Core}/Musify.Application/PlayLists/RequestPlayListPictureUpload.cs (100%) rename backend/{ => Core}/Musify.Application/PlayLists/Responses/PlayListApplicationResponse.cs (100%) rename backend/{ => Core}/Musify.Application/PlayLists/Responses/PlayListPictureUploadResponse.cs (100%) rename backend/{ => Core}/Musify.Application/PlayLists/UpdatePlayList.cs (100%) rename backend/{ => Core}/Musify.Application/Services/TrackStreamIssuer.cs (100%) rename backend/{ => Core}/Musify.Application/Services/UploadIntentValidator.cs (100%) rename backend/{ => Core}/Musify.Application/Services/YouTubeTrackProvisioner.cs (100%) rename backend/{ => Core}/Musify.Application/Shared/ImageSize.cs (100%) rename backend/{ => Core}/Musify.Application/Shared/PaginatedResponse.cs (100%) rename backend/{ => Core}/Musify.Application/Shared/StorageKey.cs (100%) rename backend/{ => Core}/Musify.Application/Tracks/CreateTrack.cs (100%) rename backend/{ => Core}/Musify.Application/Tracks/DeleteTrack.cs (100%) rename backend/{ => Core}/Musify.Application/Tracks/GetListeningHistory.cs (100%) rename backend/{ => Core}/Musify.Application/Tracks/GetTrackById.cs (100%) rename backend/{ => Core}/Musify.Application/Tracks/GetTrackCover.cs (100%) rename backend/{ => Core}/Musify.Application/Tracks/GetTrackStream.cs (100%) rename backend/{ => Core}/Musify.Application/Tracks/GetTracks.cs (100%) rename backend/{ => Core}/Musify.Application/Tracks/GetTracksByUserId.cs (100%) rename backend/{ => Core}/Musify.Application/Tracks/RequestTrackUploadUrls.cs (100%) rename backend/{ => Core}/Musify.Application/Tracks/Responses/TrackApplicationResponse.cs (100%) rename backend/{ => Core}/Musify.Application/Tracks/Responses/TrackStreamResponse.cs (100%) rename backend/{ => Core}/Musify.Application/Tracks/Responses/TrackUploadUrlsResponse.cs (100%) rename backend/{ => Core}/Musify.Application/Users/CreateUser.cs (100%) rename backend/{ => Core}/Musify.Application/Users/GetUserById.cs (100%) rename backend/{ => Core}/Musify.Application/Users/GetUsers.cs (100%) rename backend/{ => Core}/Musify.Application/Users/Responses/UserApplicationResponse.cs (100%) rename backend/{ => Core}/Musify.Application/Users/SyncUser.cs (100%) rename backend/{ => Core}/Musify.Application/YouTube/GetYouTubeAlbum.cs (100%) rename backend/{ => Core}/Musify.Application/YouTube/ResolveYouTubeTrackStream.cs (100%) rename backend/{ => Core}/Musify.Application/YouTube/Responses/YouTubeStreamResponse.cs (100%) rename backend/{ => Core}/Musify.Application/YouTube/SearchYouTubeAlbums.cs (100%) rename backend/{ => Core}/Musify.Application/YouTube/SearchYouTubeTracks.cs (100%) rename backend/{ => Core}/Musify.Domain/Abstractions/IAuditable.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/Album.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/AlbumHasTrack.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/Artist.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/ExternalAlbum.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/ExternalTrack.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/ListeningHistory.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/LocalTrack.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/Mix.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/MixItem.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/PlayList.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/PlayListHasTrack.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/Track.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/TrackArtist.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/Upload.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/UploadIntent.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/User.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/UserAlbum.cs (100%) rename backend/{ => Core}/Musify.Domain/Entities/UserHasTrack.cs (100%) rename backend/{ => Core}/Musify.Domain/Musify.Domain.csproj (100%) rename backend/{ => Core}/Musify.Domain/ValueObjects/AlbumPictures.cs (100%) rename backend/{ => Core}/Musify.Domain/ValueObjects/LifeCycleStatus.cs (100%) rename backend/{ => Core}/Musify.Domain/ValueObjects/MixItemSource.cs (100%) rename backend/{ => Core}/Musify.Domain/ValueObjects/PlayListPictures.cs (100%) rename backend/{ => Core}/Musify.Domain/ValueObjects/ProcessingStatus.cs (100%) rename backend/{ => Core}/Musify.Domain/ValueObjects/TrackAudio.cs (100%) rename backend/{ => Core}/Musify.Domain/ValueObjects/TrackPictures.cs (100%) rename backend/{ => Core}/Musify.Domain/ValueObjects/TrackSource.cs (100%) rename backend/{ => Core}/Musify.Domain/ValueObjects/UploadIntentPurpose.cs (100%) rename backend/{ => Core}/Musify.Domain/ValueObjects/UploadIntentStatus.cs (100%) rename backend/{ => Core}/Musify.Domain/ValueObjects/UploadState.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Assets/PlayListDefaultCover.png (100%) rename backend/{ => Core}/Musify.Infrastructure/Configuration/AudioConfiguration.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Configuration/DatabaseConfiguration.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Configuration/InfrastructureStorageConfiguration.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Configuration/MassTransitConfiguration.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Configuration/OpenTelemetryConfiguration.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Configuration/StreamTicketConfiguration.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Configuration/WorkerConfiguration.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Configuration/YouTubeConfiguration.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Configuration/YtDlpConfiguration.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/DesignSettings.json (100%) rename backend/{ => Core}/Musify.Infrastructure/Helpers/YouTubeThumbNailHelper.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Jobs/DailyMixGenerationJob.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Jobs/TemporalUploadsCleanupJob.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Jobs/UploadIntentExpirationJob.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Audio/DownloadYouTubeAudioActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Audio/GenerateAudioWorkflowPathsActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Audio/TranscodeAudioActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Audio/UpdateTrackAudioActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Files/CopyFileInBucketActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Files/DownloadFileFromBucketActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Files/DownloadFileFromUrlActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Files/RemoveFileFromBucketActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Files/TransferFilesToBucketActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Files/UploadFileToBucketActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Pictures/GeneratePictureWorkflowPathsActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Pictures/ResizePictureActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Pictures/UpdatePlayListPictureActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Pictures/UpdateTrackPictureActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/PlayLists/DeletePlayListFromDbActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/PlayLists/MarkPlayListAsFailedActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/PlayLists/MarkPlayListAsRemovingActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/PlayLists/PublishPlayListPictureProcessingEventActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Tracks/DeleteTrackFromDbActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Tracks/MarkTrackAsFailedActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Tracks/MarkTrackAsRemovingActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/Tracks/PublishTrackProcessingEventsActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Activities/UploadIntents/ConsumeUploadIntentsActivity.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/ConsumeUploadIntentsArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/CopyFileInBucketArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/DeletePlayListFromDbArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/DeleteTrackFromDbArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/DownloadFileFromBucketArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/DownloadFileFromUrlArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/DownloadYouTubeAudioArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/GenerateAudioWorkflowPathsArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/GeneratePictureWorkflowPathsArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/MarkPlayListAsFailedArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/MarkPlayListAsRemovingArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/MarkTrackAsFailedArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/MarkTrackAsRemovingArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/PublishPlayListPictureProcessingEventArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/PublishTrackProcessingEventsArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/RemoveFileFromBucketArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/ResizePictureLocalArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/TranscodeAudioArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/TransferFilesToBucketArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/UpdatePlayListPictureArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/UpdateTrackAudioArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/UpdateTrackPictureArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Arguments/UploadFileToBucketArguments.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Consumers/CreatePlayListConsumer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Consumers/CreateTrackConsumer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Consumers/DeletePlayListConsumer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Consumers/DeleteTrackConsumer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Consumers/DownloadYouTubeTrackConsumer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Consumers/EndpointHelper.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Consumers/PlayListProcessingFailedConsumer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Consumers/ProcessingSlipFaultConsumer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Consumers/RoutingSlipCleanUpConsumer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Consumers/TrackProcessingFailedConsumer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Consumers/UpdatePlayListPictureConsumer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Consumers/UpdatePlayListPictureSourceConsumer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Consumers/UpdateTrackAudioConsumer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Consumers/UpdateTrackPictureConsumer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.Options.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.Registration.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Logs/ConsumeUploadIntentsLog.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Logs/CopyFileInBucketLog.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Logs/DownloadFileFromBucketLog.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Logs/DownloadFileFromUrlLog.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Logs/DownloadYouTubeAudioLog.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Logs/GeneratePictureWorkflowPathsLog.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Logs/ResizePictureLog.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Logs/TranscodeAudioLog.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Logs/TransferFilesToBucketLog.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Logs/UpdatePlayListPictureLog.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Logs/UpdateTrackAudioLog.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Logs/UpdateTrackPictureLog.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Logs/UploadFileToBucketLog.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/MassTransitEventBus.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/RoutingSlip/ActivityNames.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/AudioWorkflowRoutingSlipBuilder.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/CreateTrackRoutingSlipBuilder.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/DeletePlayListRoutingSlipBuilder.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/DeleteTrackRoutingSlipBuilder.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/PictureWorkflowRoutingSlipBuilder.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/PlayListPictureSourceRoutingSlipBuilder.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/YouTubeTrackRoutingSlipBuilder.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/RoutingSlip/RoutingSlipVariableNames.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Sagas/PlayListProcessingState.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Sagas/PlayListProcessingStateMachine.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Sagas/TrackProcessingState.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/MassTransit/Sagas/TrackProcessingStateMachine.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Musify.Infrastructure.csproj (100%) rename backend/{ => Core}/Musify.Infrastructure/Observability/OpenTelemetryDependencyInjection.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/AuditableEntityInterceptor.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Database.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/DatabaseDependencyInjection.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/DatabaseDesignTimeFactory.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260530020027_InitialCreate.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260530020027_InitialCreate.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260531234306_AddUserProfilePictureUrl.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260531234306_AddUserProfilePictureUrl.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260601195757_RenameTimestampsAndAudit.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260601195757_RenameTimestampsAndAudit.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260705123932_AddTrackProcessingStateSaga.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260705123932_AddTrackProcessingStateSaga.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260705124807_AddTrackProcessingSagaKeys.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260705124807_AddTrackProcessingSagaKeys.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260705125356_AddPlayListProcessingStateSaga.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260705125356_AddPlayListProcessingStateSaga.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260713234847_AddListeningHistory.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260713234847_AddListeningHistory.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260714114537_AddTrackDuration.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260714114537_AddTrackDuration.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260715193951_AddTrackSourceArtistExternalId.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260715193951_AddTrackSourceArtistExternalId.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260715230836_AddTrackDownloadRequested.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260715230836_AddTrackDownloadRequested.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260716214442_MakeTrackMediaAndExternalIdNullable.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260716214442_MakeTrackMediaAndExternalIdNullable.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260716214752_AddArtistsAndTrackOwnership.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260716214752_AddArtistsAndTrackOwnership.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260716220047_DropTrackArtistColumn.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260716220047_DropTrackArtistColumn.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260717164632_MovePlayListPicturesToOwnedType.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260717164632_MovePlayListPicturesToOwnedType.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260717164812_RenameTrackDurationToDurationSeconds.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260717164812_RenameTrackDurationToDurationSeconds.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260717172507_SplitTrackIntoLocalAndExternal.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260717172507_SplitTrackIntoLocalAndExternal.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260717223358_MakePlayListPicturesNullable.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260717223358_MakePlayListPicturesNullable.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260720180629_WidenTrackTitle.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260720180629_WidenTrackTitle.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260720180747_AddAlbums.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260720180747_AddAlbums.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260720184656_AddUserAlbumExternalId.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260720184656_AddUserAlbumExternalId.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260721155102_AddMixes.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260721155102_AddMixes.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260721161653_RemoveUserAlbumExternalId.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260721161653_RemoveUserAlbumExternalId.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260721162102_DropMixGeneratedOn.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260721162102_DropMixGeneratedOn.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260721190735_MakePlayListDescriptionOptional.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260721190735_MakePlayListDescriptionOptional.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260724170051_DurationAsDouble.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260724170051_DurationAsDouble.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260724181012_AddExternalAlbums.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260724181012_AddExternalAlbums.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260724182659_AddExternalAlbumThumbnail.Designer.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/20260724182659_AddExternalAlbumThumbnail.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Persistence/Migrations/DatabaseModelSnapshot.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Services/AudioTranscoderService.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Services/PictureService.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Services/PlayListPresetSeeder.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Services/ServicesDependencyInjection.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Services/SingleFlightCache.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Services/StorageService.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Services/StreamTicketService.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Services/YouTubeDownloaderService.cs (100%) rename backend/{ => Core}/Musify.Infrastructure/Services/YouTubeMusicService.cs (100%) rename backend/{ => Hosts}/Musify.Api/AppSettings.Development.json (100%) rename backend/{ => Hosts}/Musify.Api/AppSettings.json (100%) rename backend/{ => Hosts}/Musify.Api/Authentication/AuthenticationConfiguration.cs (100%) rename backend/{ => Hosts}/Musify.Api/Authentication/AuthenticationExtensions.cs (100%) rename backend/{ => Hosts}/Musify.Api/Authentication/CurrentUser.cs (100%) rename backend/{ => Hosts}/Musify.Api/Authentication/JwtBearerEventsHandler.cs (100%) rename backend/{ => Hosts}/Musify.Api/Authentication/JwtBearerOptionsSetup.cs (100%) rename backend/{ => Hosts}/Musify.Api/DataTransferObjects/Albums/CreateAlbumRequest.cs (100%) rename backend/{ => Hosts}/Musify.Api/DataTransferObjects/Albums/UpdateAlbumRequest.cs (100%) rename backend/{ => Hosts}/Musify.Api/DataTransferObjects/PlayLists/AddYouTubeTrackRequest.cs (100%) rename backend/{ => Hosts}/Musify.Api/DataTransferObjects/PlayLists/CreatePlayListRequest.cs (100%) rename backend/{ => Hosts}/Musify.Api/DataTransferObjects/PlayLists/RequestPlayListPictureUploadRequest.cs (100%) rename backend/{ => Hosts}/Musify.Api/DataTransferObjects/PlayLists/UpdatePlayListRequest.cs (100%) rename backend/{ => Hosts}/Musify.Api/DataTransferObjects/Tracks/CreateTrackRequest.cs (100%) rename backend/{ => Hosts}/Musify.Api/DataTransferObjects/Tracks/RequestTrackUploadUrlsRequest.cs (100%) rename backend/{ => Hosts}/Musify.Api/DataTransferObjects/Users/CreateUserRequest.cs (100%) rename backend/{ => Hosts}/Musify.Api/Endpoints/AlbumEndpoints.cs (100%) rename backend/{ => Hosts}/Musify.Api/Endpoints/MixEndpoints.cs (100%) rename backend/{ => Hosts}/Musify.Api/Endpoints/PlayListEndpoints.cs (100%) rename backend/{ => Hosts}/Musify.Api/Endpoints/TrackEndpoints.cs (100%) rename backend/{ => Hosts}/Musify.Api/Endpoints/UserEndpoints.cs (100%) rename backend/{ => Hosts}/Musify.Api/Endpoints/YouTubeEndpoints.cs (100%) rename backend/{ => Hosts}/Musify.Api/Extensions/ErrorOrHttpExtensions.cs (100%) rename backend/{ => Hosts}/Musify.Api/Extensions/ServiceCollectionExtensions.cs (100%) rename backend/{ => Hosts}/Musify.Api/Filters/ValidationFilter.cs (100%) rename backend/{ => Hosts}/Musify.Api/Musify.Api.csproj (86%) rename backend/{ => Hosts}/Musify.Api/OpenApi/OpenApiExtensions.cs (100%) rename backend/{ => Hosts}/Musify.Api/OpenApi/OpenApiOptionsSetup.cs (100%) rename backend/{ => Hosts}/Musify.Api/Program.cs (100%) rename backend/{ => Hosts}/Musify.Api/Properties/launchSettings.json (100%) rename backend/{ => Hosts}/Musify.Api/Scalar/ScalarExtensions.cs (100%) rename backend/{ => Hosts}/Musify.Api/Scalar/ScalarOptionsSetup.cs (100%) rename backend/{ => Hosts}/Musify.Api/Validators/Albums/AlbumReleaseYear.cs (100%) rename backend/{ => Hosts}/Musify.Api/Validators/Albums/CreateAlbumRequestValidator.cs (100%) rename backend/{ => Hosts}/Musify.Api/Validators/Albums/UpdateAlbumRequestValidator.cs (100%) rename backend/{ => Hosts}/Musify.Api/Validators/PlayLists/AddYouTubeTrackRequestValidator.cs (100%) rename backend/{ => Hosts}/Musify.Api/Validators/PlayLists/CreatePlayListRequestValidator.cs (100%) rename backend/{ => Hosts}/Musify.Api/Validators/PlayLists/RequestPlayListPictureUploadRequestValidator.cs (100%) rename backend/{ => Hosts}/Musify.Api/Validators/PlayLists/UpdatePlayListRequestValidator.cs (100%) rename backend/{ => Hosts}/Musify.Api/Validators/Tracks/CreateTrackRequestValidator.cs (100%) rename backend/{ => Hosts}/Musify.Api/Validators/Tracks/RequestTrackUploadUrlsRequestValidator.cs (100%) rename backend/{ => Hosts}/Musify.Api/Validators/Users/CreateUserRequestValidator.cs (100%) rename backend/{ => Hosts}/Musify.Api/WebApi.http (100%) rename backend/{ => Hosts}/Musify.StreamingGateway/Authentication/TicketValidator.cs (100%) rename backend/{ => Hosts}/Musify.StreamingGateway/Configuration/StreamTicketValidationOptions.cs (100%) rename backend/{ => Hosts}/Musify.StreamingGateway/Middleware/TicketValidationMiddleware.cs (100%) rename backend/{ => Hosts}/Musify.StreamingGateway/Musify.StreamingGateway.csproj (100%) rename backend/{ => Hosts}/Musify.StreamingGateway/Program.cs (100%) rename backend/{ => Hosts}/Musify.StreamingGateway/Properties/launchSettings.json (100%) rename backend/{ => Hosts}/Musify.StreamingGateway/appsettings.Development.json (100%) rename backend/{ => Hosts}/Musify.StreamingGateway/appsettings.json (100%) rename backend/{ => Hosts}/Musify.Worker/AppSettings.Development.json (100%) rename backend/{ => Hosts}/Musify.Worker/AppSettings.json (100%) rename backend/{ => Hosts}/Musify.Worker/Musify.Worker.csproj (76%) rename backend/{ => Hosts}/Musify.Worker/Program.cs (100%) rename backend/{ => Hosts}/Musify.Worker/Properties/launchSettings.json (100%) diff --git a/backend/Musify.Application/Albums/AddTrackToAlbum.cs b/backend/Core/Musify.Application/Albums/AddTrackToAlbum.cs similarity index 100% rename from backend/Musify.Application/Albums/AddTrackToAlbum.cs rename to backend/Core/Musify.Application/Albums/AddTrackToAlbum.cs diff --git a/backend/Musify.Application/Albums/CreateAlbum.cs b/backend/Core/Musify.Application/Albums/CreateAlbum.cs similarity index 100% rename from backend/Musify.Application/Albums/CreateAlbum.cs rename to backend/Core/Musify.Application/Albums/CreateAlbum.cs diff --git a/backend/Musify.Application/Albums/DeleteAlbum.cs b/backend/Core/Musify.Application/Albums/DeleteAlbum.cs similarity index 100% rename from backend/Musify.Application/Albums/DeleteAlbum.cs rename to backend/Core/Musify.Application/Albums/DeleteAlbum.cs diff --git a/backend/Musify.Application/Albums/GetAlbumById.cs b/backend/Core/Musify.Application/Albums/GetAlbumById.cs similarity index 100% rename from backend/Musify.Application/Albums/GetAlbumById.cs rename to backend/Core/Musify.Application/Albums/GetAlbumById.cs diff --git a/backend/Musify.Application/Albums/GetAlbumTracks.cs b/backend/Core/Musify.Application/Albums/GetAlbumTracks.cs similarity index 100% rename from backend/Musify.Application/Albums/GetAlbumTracks.cs rename to backend/Core/Musify.Application/Albums/GetAlbumTracks.cs diff --git a/backend/Musify.Application/Albums/GetAlbums.cs b/backend/Core/Musify.Application/Albums/GetAlbums.cs similarity index 100% rename from backend/Musify.Application/Albums/GetAlbums.cs rename to backend/Core/Musify.Application/Albums/GetAlbums.cs diff --git a/backend/Musify.Application/Albums/GetAlbumsByUserId.cs b/backend/Core/Musify.Application/Albums/GetAlbumsByUserId.cs similarity index 100% rename from backend/Musify.Application/Albums/GetAlbumsByUserId.cs rename to backend/Core/Musify.Application/Albums/GetAlbumsByUserId.cs diff --git a/backend/Musify.Application/Albums/GetRecentlyListenedAlbums.cs b/backend/Core/Musify.Application/Albums/GetRecentlyListenedAlbums.cs similarity index 100% rename from backend/Musify.Application/Albums/GetRecentlyListenedAlbums.cs rename to backend/Core/Musify.Application/Albums/GetRecentlyListenedAlbums.cs diff --git a/backend/Musify.Application/Albums/RemoveTrackFromAlbum.cs b/backend/Core/Musify.Application/Albums/RemoveTrackFromAlbum.cs similarity index 100% rename from backend/Musify.Application/Albums/RemoveTrackFromAlbum.cs rename to backend/Core/Musify.Application/Albums/RemoveTrackFromAlbum.cs diff --git a/backend/Musify.Application/Albums/Responses/AlbumApplicationResponse.cs b/backend/Core/Musify.Application/Albums/Responses/AlbumApplicationResponse.cs similarity index 100% rename from backend/Musify.Application/Albums/Responses/AlbumApplicationResponse.cs rename to backend/Core/Musify.Application/Albums/Responses/AlbumApplicationResponse.cs diff --git a/backend/Musify.Application/Albums/UpdateAlbum.cs b/backend/Core/Musify.Application/Albums/UpdateAlbum.cs similarity index 100% rename from backend/Musify.Application/Albums/UpdateAlbum.cs rename to backend/Core/Musify.Application/Albums/UpdateAlbum.cs diff --git a/backend/Musify.Application/ApplicationDependencyInjection.cs b/backend/Core/Musify.Application/ApplicationDependencyInjection.cs similarity index 100% rename from backend/Musify.Application/ApplicationDependencyInjection.cs rename to backend/Core/Musify.Application/ApplicationDependencyInjection.cs diff --git a/backend/Musify.Application/AssemblyInfo.cs b/backend/Core/Musify.Application/AssemblyInfo.cs similarity index 100% rename from backend/Musify.Application/AssemblyInfo.cs rename to backend/Core/Musify.Application/AssemblyInfo.cs diff --git a/backend/Musify.Application/Configuration/ApplicationStorageConfiguration.cs b/backend/Core/Musify.Application/Configuration/ApplicationStorageConfiguration.cs similarity index 100% rename from backend/Musify.Application/Configuration/ApplicationStorageConfiguration.cs rename to backend/Core/Musify.Application/Configuration/ApplicationStorageConfiguration.cs diff --git a/backend/Musify.Application/Configuration/ConfigurationDependencyInjection.cs b/backend/Core/Musify.Application/Configuration/ConfigurationDependencyInjection.cs similarity index 100% rename from backend/Musify.Application/Configuration/ConfigurationDependencyInjection.cs rename to backend/Core/Musify.Application/Configuration/ConfigurationDependencyInjection.cs diff --git a/backend/Musify.Application/Configuration/MixConfiguration.cs b/backend/Core/Musify.Application/Configuration/MixConfiguration.cs similarity index 100% rename from backend/Musify.Application/Configuration/MixConfiguration.cs rename to backend/Core/Musify.Application/Configuration/MixConfiguration.cs diff --git a/backend/Musify.Application/Configuration/PlayListConfiguration.cs b/backend/Core/Musify.Application/Configuration/PlayListConfiguration.cs similarity index 100% rename from backend/Musify.Application/Configuration/PlayListConfiguration.cs rename to backend/Core/Musify.Application/Configuration/PlayListConfiguration.cs diff --git a/backend/Musify.Application/Configuration/StreamGatewayConfiguration.cs b/backend/Core/Musify.Application/Configuration/StreamGatewayConfiguration.cs similarity index 100% rename from backend/Musify.Application/Configuration/StreamGatewayConfiguration.cs rename to backend/Core/Musify.Application/Configuration/StreamGatewayConfiguration.cs diff --git a/backend/Musify.Application/Configuration/TrackConfiguration.cs b/backend/Core/Musify.Application/Configuration/TrackConfiguration.cs similarity index 100% rename from backend/Musify.Application/Configuration/TrackConfiguration.cs rename to backend/Core/Musify.Application/Configuration/TrackConfiguration.cs diff --git a/backend/Musify.Application/Configuration/UploadIntentConfiguration.cs b/backend/Core/Musify.Application/Configuration/UploadIntentConfiguration.cs similarity index 100% rename from backend/Musify.Application/Configuration/UploadIntentConfiguration.cs rename to backend/Core/Musify.Application/Configuration/UploadIntentConfiguration.cs diff --git a/backend/Musify.Application/Contracts/AudioTranscodeResult.cs b/backend/Core/Musify.Application/Contracts/AudioTranscodeResult.cs similarity index 100% rename from backend/Musify.Application/Contracts/AudioTranscodeResult.cs rename to backend/Core/Musify.Application/Contracts/AudioTranscodeResult.cs diff --git a/backend/Musify.Application/Contracts/IAudioTranscoderService.cs b/backend/Core/Musify.Application/Contracts/IAudioTranscoderService.cs similarity index 100% rename from backend/Musify.Application/Contracts/IAudioTranscoderService.cs rename to backend/Core/Musify.Application/Contracts/IAudioTranscoderService.cs diff --git a/backend/Musify.Application/Contracts/IDatabase.cs b/backend/Core/Musify.Application/Contracts/IDatabase.cs similarity index 100% rename from backend/Musify.Application/Contracts/IDatabase.cs rename to backend/Core/Musify.Application/Contracts/IDatabase.cs diff --git a/backend/Musify.Application/Contracts/IDatabaseTransaction.cs b/backend/Core/Musify.Application/Contracts/IDatabaseTransaction.cs similarity index 100% rename from backend/Musify.Application/Contracts/IDatabaseTransaction.cs rename to backend/Core/Musify.Application/Contracts/IDatabaseTransaction.cs diff --git a/backend/Musify.Application/Contracts/IEventBus.cs b/backend/Core/Musify.Application/Contracts/IEventBus.cs similarity index 100% rename from backend/Musify.Application/Contracts/IEventBus.cs rename to backend/Core/Musify.Application/Contracts/IEventBus.cs diff --git a/backend/Musify.Application/Contracts/IPictureService.cs b/backend/Core/Musify.Application/Contracts/IPictureService.cs similarity index 100% rename from backend/Musify.Application/Contracts/IPictureService.cs rename to backend/Core/Musify.Application/Contracts/IPictureService.cs diff --git a/backend/Musify.Application/Contracts/IStorageService.cs b/backend/Core/Musify.Application/Contracts/IStorageService.cs similarity index 100% rename from backend/Musify.Application/Contracts/IStorageService.cs rename to backend/Core/Musify.Application/Contracts/IStorageService.cs diff --git a/backend/Musify.Application/Contracts/IStreamTicketService.cs b/backend/Core/Musify.Application/Contracts/IStreamTicketService.cs similarity index 100% rename from backend/Musify.Application/Contracts/IStreamTicketService.cs rename to backend/Core/Musify.Application/Contracts/IStreamTicketService.cs diff --git a/backend/Musify.Application/Contracts/IYouTubeDownloaderService.cs b/backend/Core/Musify.Application/Contracts/IYouTubeDownloaderService.cs similarity index 100% rename from backend/Musify.Application/Contracts/IYouTubeDownloaderService.cs rename to backend/Core/Musify.Application/Contracts/IYouTubeDownloaderService.cs diff --git a/backend/Musify.Application/Contracts/IYouTubeMusicService.cs b/backend/Core/Musify.Application/Contracts/IYouTubeMusicService.cs similarity index 100% rename from backend/Musify.Application/Contracts/IYouTubeMusicService.cs rename to backend/Core/Musify.Application/Contracts/IYouTubeMusicService.cs diff --git a/backend/Musify.Application/Contracts/ObjectMetaData.cs b/backend/Core/Musify.Application/Contracts/ObjectMetaData.cs similarity index 100% rename from backend/Musify.Application/Contracts/ObjectMetaData.cs rename to backend/Core/Musify.Application/Contracts/ObjectMetaData.cs diff --git a/backend/Musify.Application/Contracts/StorageObject.cs b/backend/Core/Musify.Application/Contracts/StorageObject.cs similarity index 100% rename from backend/Musify.Application/Contracts/StorageObject.cs rename to backend/Core/Musify.Application/Contracts/StorageObject.cs diff --git a/backend/Musify.Application/Events/CreatePlayListResourcesEvent.cs b/backend/Core/Musify.Application/Events/CreatePlayListResourcesEvent.cs similarity index 100% rename from backend/Musify.Application/Events/CreatePlayListResourcesEvent.cs rename to backend/Core/Musify.Application/Events/CreatePlayListResourcesEvent.cs diff --git a/backend/Musify.Application/Events/CreateTrackResourcesEvent.cs b/backend/Core/Musify.Application/Events/CreateTrackResourcesEvent.cs similarity index 100% rename from backend/Musify.Application/Events/CreateTrackResourcesEvent.cs rename to backend/Core/Musify.Application/Events/CreateTrackResourcesEvent.cs diff --git a/backend/Musify.Application/Events/DeletePlayListEvent.cs b/backend/Core/Musify.Application/Events/DeletePlayListEvent.cs similarity index 100% rename from backend/Musify.Application/Events/DeletePlayListEvent.cs rename to backend/Core/Musify.Application/Events/DeletePlayListEvent.cs diff --git a/backend/Musify.Application/Events/DeleteTrackEvent.cs b/backend/Core/Musify.Application/Events/DeleteTrackEvent.cs similarity index 100% rename from backend/Musify.Application/Events/DeleteTrackEvent.cs rename to backend/Core/Musify.Application/Events/DeleteTrackEvent.cs diff --git a/backend/Musify.Application/Events/DownloadYouTubeTrackEvent.cs b/backend/Core/Musify.Application/Events/DownloadYouTubeTrackEvent.cs similarity index 100% rename from backend/Musify.Application/Events/DownloadYouTubeTrackEvent.cs rename to backend/Core/Musify.Application/Events/DownloadYouTubeTrackEvent.cs diff --git a/backend/Musify.Application/Events/PlayListPictureProcessed.cs b/backend/Core/Musify.Application/Events/PlayListPictureProcessed.cs similarity index 100% rename from backend/Musify.Application/Events/PlayListPictureProcessed.cs rename to backend/Core/Musify.Application/Events/PlayListPictureProcessed.cs diff --git a/backend/Musify.Application/Events/PlayListPictureProcessingFailed.cs b/backend/Core/Musify.Application/Events/PlayListPictureProcessingFailed.cs similarity index 100% rename from backend/Musify.Application/Events/PlayListPictureProcessingFailed.cs rename to backend/Core/Musify.Application/Events/PlayListPictureProcessingFailed.cs diff --git a/backend/Musify.Application/Events/PlayListProcessingFailed.cs b/backend/Core/Musify.Application/Events/PlayListProcessingFailed.cs similarity index 100% rename from backend/Musify.Application/Events/PlayListProcessingFailed.cs rename to backend/Core/Musify.Application/Events/PlayListProcessingFailed.cs diff --git a/backend/Musify.Application/Events/TrackAudioProcessed.cs b/backend/Core/Musify.Application/Events/TrackAudioProcessed.cs similarity index 100% rename from backend/Musify.Application/Events/TrackAudioProcessed.cs rename to backend/Core/Musify.Application/Events/TrackAudioProcessed.cs diff --git a/backend/Musify.Application/Events/TrackAudioProcessingFailed.cs b/backend/Core/Musify.Application/Events/TrackAudioProcessingFailed.cs similarity index 100% rename from backend/Musify.Application/Events/TrackAudioProcessingFailed.cs rename to backend/Core/Musify.Application/Events/TrackAudioProcessingFailed.cs diff --git a/backend/Musify.Application/Events/TrackPictureProcessed.cs b/backend/Core/Musify.Application/Events/TrackPictureProcessed.cs similarity index 100% rename from backend/Musify.Application/Events/TrackPictureProcessed.cs rename to backend/Core/Musify.Application/Events/TrackPictureProcessed.cs diff --git a/backend/Musify.Application/Events/TrackPictureProcessingFailed.cs b/backend/Core/Musify.Application/Events/TrackPictureProcessingFailed.cs similarity index 100% rename from backend/Musify.Application/Events/TrackPictureProcessingFailed.cs rename to backend/Core/Musify.Application/Events/TrackPictureProcessingFailed.cs diff --git a/backend/Musify.Application/Events/TrackProcessingFailed.cs b/backend/Core/Musify.Application/Events/TrackProcessingFailed.cs similarity index 100% rename from backend/Musify.Application/Events/TrackProcessingFailed.cs rename to backend/Core/Musify.Application/Events/TrackProcessingFailed.cs diff --git a/backend/Musify.Application/Events/UpdatePlayListPictureEvent.cs b/backend/Core/Musify.Application/Events/UpdatePlayListPictureEvent.cs similarity index 100% rename from backend/Musify.Application/Events/UpdatePlayListPictureEvent.cs rename to backend/Core/Musify.Application/Events/UpdatePlayListPictureEvent.cs diff --git a/backend/Musify.Application/Events/UpdatePlayListPictureSourceEvent.cs b/backend/Core/Musify.Application/Events/UpdatePlayListPictureSourceEvent.cs similarity index 100% rename from backend/Musify.Application/Events/UpdatePlayListPictureSourceEvent.cs rename to backend/Core/Musify.Application/Events/UpdatePlayListPictureSourceEvent.cs diff --git a/backend/Musify.Application/Events/UpdateTrackAudioEvent.cs b/backend/Core/Musify.Application/Events/UpdateTrackAudioEvent.cs similarity index 100% rename from backend/Musify.Application/Events/UpdateTrackAudioEvent.cs rename to backend/Core/Musify.Application/Events/UpdateTrackAudioEvent.cs diff --git a/backend/Musify.Application/Events/UpdateTrackPictureEvent.cs b/backend/Core/Musify.Application/Events/UpdateTrackPictureEvent.cs similarity index 100% rename from backend/Musify.Application/Events/UpdateTrackPictureEvent.cs rename to backend/Core/Musify.Application/Events/UpdateTrackPictureEvent.cs diff --git a/backend/Musify.Application/Mixes/GenerateMixesForUser.cs b/backend/Core/Musify.Application/Mixes/GenerateMixesForUser.cs similarity index 100% rename from backend/Musify.Application/Mixes/GenerateMixesForUser.cs rename to backend/Core/Musify.Application/Mixes/GenerateMixesForUser.cs diff --git a/backend/Musify.Application/Mixes/GetMixById.cs b/backend/Core/Musify.Application/Mixes/GetMixById.cs similarity index 100% rename from backend/Musify.Application/Mixes/GetMixById.cs rename to backend/Core/Musify.Application/Mixes/GetMixById.cs diff --git a/backend/Musify.Application/Mixes/GetMixesByUserId.cs b/backend/Core/Musify.Application/Mixes/GetMixesByUserId.cs similarity index 100% rename from backend/Musify.Application/Mixes/GetMixesByUserId.cs rename to backend/Core/Musify.Application/Mixes/GetMixesByUserId.cs diff --git a/backend/Musify.Application/Mixes/Responses/MixApplicationResponse.cs b/backend/Core/Musify.Application/Mixes/Responses/MixApplicationResponse.cs similarity index 100% rename from backend/Musify.Application/Mixes/Responses/MixApplicationResponse.cs rename to backend/Core/Musify.Application/Mixes/Responses/MixApplicationResponse.cs diff --git a/backend/Musify.Application/Mixes/Responses/MixItemApplicationResponse.cs b/backend/Core/Musify.Application/Mixes/Responses/MixItemApplicationResponse.cs similarity index 100% rename from backend/Musify.Application/Mixes/Responses/MixItemApplicationResponse.cs rename to backend/Core/Musify.Application/Mixes/Responses/MixItemApplicationResponse.cs diff --git a/backend/Musify.Application/Musify.Application.csproj b/backend/Core/Musify.Application/Musify.Application.csproj similarity index 100% rename from backend/Musify.Application/Musify.Application.csproj rename to backend/Core/Musify.Application/Musify.Application.csproj diff --git a/backend/Musify.Application/PlayLists/AddTrackToPlayList.cs b/backend/Core/Musify.Application/PlayLists/AddTrackToPlayList.cs similarity index 100% rename from backend/Musify.Application/PlayLists/AddTrackToPlayList.cs rename to backend/Core/Musify.Application/PlayLists/AddTrackToPlayList.cs diff --git a/backend/Musify.Application/PlayLists/AddYouTubeTrackToPlayList.cs b/backend/Core/Musify.Application/PlayLists/AddYouTubeTrackToPlayList.cs similarity index 100% rename from backend/Musify.Application/PlayLists/AddYouTubeTrackToPlayList.cs rename to backend/Core/Musify.Application/PlayLists/AddYouTubeTrackToPlayList.cs diff --git a/backend/Musify.Application/PlayLists/CreatePlayList.cs b/backend/Core/Musify.Application/PlayLists/CreatePlayList.cs similarity index 100% rename from backend/Musify.Application/PlayLists/CreatePlayList.cs rename to backend/Core/Musify.Application/PlayLists/CreatePlayList.cs diff --git a/backend/Musify.Application/PlayLists/DeletePlayList.cs b/backend/Core/Musify.Application/PlayLists/DeletePlayList.cs similarity index 100% rename from backend/Musify.Application/PlayLists/DeletePlayList.cs rename to backend/Core/Musify.Application/PlayLists/DeletePlayList.cs diff --git a/backend/Musify.Application/PlayLists/GetPlayListById.cs b/backend/Core/Musify.Application/PlayLists/GetPlayListById.cs similarity index 100% rename from backend/Musify.Application/PlayLists/GetPlayListById.cs rename to backend/Core/Musify.Application/PlayLists/GetPlayListById.cs diff --git a/backend/Musify.Application/PlayLists/GetPlayListCover.cs b/backend/Core/Musify.Application/PlayLists/GetPlayListCover.cs similarity index 100% rename from backend/Musify.Application/PlayLists/GetPlayListCover.cs rename to backend/Core/Musify.Application/PlayLists/GetPlayListCover.cs diff --git a/backend/Musify.Application/PlayLists/GetPlayListTracks.cs b/backend/Core/Musify.Application/PlayLists/GetPlayListTracks.cs similarity index 100% rename from backend/Musify.Application/PlayLists/GetPlayListTracks.cs rename to backend/Core/Musify.Application/PlayLists/GetPlayListTracks.cs diff --git a/backend/Musify.Application/PlayLists/GetPlayLists.cs b/backend/Core/Musify.Application/PlayLists/GetPlayLists.cs similarity index 100% rename from backend/Musify.Application/PlayLists/GetPlayLists.cs rename to backend/Core/Musify.Application/PlayLists/GetPlayLists.cs diff --git a/backend/Musify.Application/PlayLists/GetPlayListsByUserId.cs b/backend/Core/Musify.Application/PlayLists/GetPlayListsByUserId.cs similarity index 100% rename from backend/Musify.Application/PlayLists/GetPlayListsByUserId.cs rename to backend/Core/Musify.Application/PlayLists/GetPlayListsByUserId.cs diff --git a/backend/Musify.Application/PlayLists/RemoveTrackFromPlayList.cs b/backend/Core/Musify.Application/PlayLists/RemoveTrackFromPlayList.cs similarity index 100% rename from backend/Musify.Application/PlayLists/RemoveTrackFromPlayList.cs rename to backend/Core/Musify.Application/PlayLists/RemoveTrackFromPlayList.cs diff --git a/backend/Musify.Application/PlayLists/RequestPlayListPictureUpload.cs b/backend/Core/Musify.Application/PlayLists/RequestPlayListPictureUpload.cs similarity index 100% rename from backend/Musify.Application/PlayLists/RequestPlayListPictureUpload.cs rename to backend/Core/Musify.Application/PlayLists/RequestPlayListPictureUpload.cs diff --git a/backend/Musify.Application/PlayLists/Responses/PlayListApplicationResponse.cs b/backend/Core/Musify.Application/PlayLists/Responses/PlayListApplicationResponse.cs similarity index 100% rename from backend/Musify.Application/PlayLists/Responses/PlayListApplicationResponse.cs rename to backend/Core/Musify.Application/PlayLists/Responses/PlayListApplicationResponse.cs diff --git a/backend/Musify.Application/PlayLists/Responses/PlayListPictureUploadResponse.cs b/backend/Core/Musify.Application/PlayLists/Responses/PlayListPictureUploadResponse.cs similarity index 100% rename from backend/Musify.Application/PlayLists/Responses/PlayListPictureUploadResponse.cs rename to backend/Core/Musify.Application/PlayLists/Responses/PlayListPictureUploadResponse.cs diff --git a/backend/Musify.Application/PlayLists/UpdatePlayList.cs b/backend/Core/Musify.Application/PlayLists/UpdatePlayList.cs similarity index 100% rename from backend/Musify.Application/PlayLists/UpdatePlayList.cs rename to backend/Core/Musify.Application/PlayLists/UpdatePlayList.cs diff --git a/backend/Musify.Application/Services/TrackStreamIssuer.cs b/backend/Core/Musify.Application/Services/TrackStreamIssuer.cs similarity index 100% rename from backend/Musify.Application/Services/TrackStreamIssuer.cs rename to backend/Core/Musify.Application/Services/TrackStreamIssuer.cs diff --git a/backend/Musify.Application/Services/UploadIntentValidator.cs b/backend/Core/Musify.Application/Services/UploadIntentValidator.cs similarity index 100% rename from backend/Musify.Application/Services/UploadIntentValidator.cs rename to backend/Core/Musify.Application/Services/UploadIntentValidator.cs diff --git a/backend/Musify.Application/Services/YouTubeTrackProvisioner.cs b/backend/Core/Musify.Application/Services/YouTubeTrackProvisioner.cs similarity index 100% rename from backend/Musify.Application/Services/YouTubeTrackProvisioner.cs rename to backend/Core/Musify.Application/Services/YouTubeTrackProvisioner.cs diff --git a/backend/Musify.Application/Shared/ImageSize.cs b/backend/Core/Musify.Application/Shared/ImageSize.cs similarity index 100% rename from backend/Musify.Application/Shared/ImageSize.cs rename to backend/Core/Musify.Application/Shared/ImageSize.cs diff --git a/backend/Musify.Application/Shared/PaginatedResponse.cs b/backend/Core/Musify.Application/Shared/PaginatedResponse.cs similarity index 100% rename from backend/Musify.Application/Shared/PaginatedResponse.cs rename to backend/Core/Musify.Application/Shared/PaginatedResponse.cs diff --git a/backend/Musify.Application/Shared/StorageKey.cs b/backend/Core/Musify.Application/Shared/StorageKey.cs similarity index 100% rename from backend/Musify.Application/Shared/StorageKey.cs rename to backend/Core/Musify.Application/Shared/StorageKey.cs diff --git a/backend/Musify.Application/Tracks/CreateTrack.cs b/backend/Core/Musify.Application/Tracks/CreateTrack.cs similarity index 100% rename from backend/Musify.Application/Tracks/CreateTrack.cs rename to backend/Core/Musify.Application/Tracks/CreateTrack.cs diff --git a/backend/Musify.Application/Tracks/DeleteTrack.cs b/backend/Core/Musify.Application/Tracks/DeleteTrack.cs similarity index 100% rename from backend/Musify.Application/Tracks/DeleteTrack.cs rename to backend/Core/Musify.Application/Tracks/DeleteTrack.cs diff --git a/backend/Musify.Application/Tracks/GetListeningHistory.cs b/backend/Core/Musify.Application/Tracks/GetListeningHistory.cs similarity index 100% rename from backend/Musify.Application/Tracks/GetListeningHistory.cs rename to backend/Core/Musify.Application/Tracks/GetListeningHistory.cs diff --git a/backend/Musify.Application/Tracks/GetTrackById.cs b/backend/Core/Musify.Application/Tracks/GetTrackById.cs similarity index 100% rename from backend/Musify.Application/Tracks/GetTrackById.cs rename to backend/Core/Musify.Application/Tracks/GetTrackById.cs diff --git a/backend/Musify.Application/Tracks/GetTrackCover.cs b/backend/Core/Musify.Application/Tracks/GetTrackCover.cs similarity index 100% rename from backend/Musify.Application/Tracks/GetTrackCover.cs rename to backend/Core/Musify.Application/Tracks/GetTrackCover.cs diff --git a/backend/Musify.Application/Tracks/GetTrackStream.cs b/backend/Core/Musify.Application/Tracks/GetTrackStream.cs similarity index 100% rename from backend/Musify.Application/Tracks/GetTrackStream.cs rename to backend/Core/Musify.Application/Tracks/GetTrackStream.cs diff --git a/backend/Musify.Application/Tracks/GetTracks.cs b/backend/Core/Musify.Application/Tracks/GetTracks.cs similarity index 100% rename from backend/Musify.Application/Tracks/GetTracks.cs rename to backend/Core/Musify.Application/Tracks/GetTracks.cs diff --git a/backend/Musify.Application/Tracks/GetTracksByUserId.cs b/backend/Core/Musify.Application/Tracks/GetTracksByUserId.cs similarity index 100% rename from backend/Musify.Application/Tracks/GetTracksByUserId.cs rename to backend/Core/Musify.Application/Tracks/GetTracksByUserId.cs diff --git a/backend/Musify.Application/Tracks/RequestTrackUploadUrls.cs b/backend/Core/Musify.Application/Tracks/RequestTrackUploadUrls.cs similarity index 100% rename from backend/Musify.Application/Tracks/RequestTrackUploadUrls.cs rename to backend/Core/Musify.Application/Tracks/RequestTrackUploadUrls.cs diff --git a/backend/Musify.Application/Tracks/Responses/TrackApplicationResponse.cs b/backend/Core/Musify.Application/Tracks/Responses/TrackApplicationResponse.cs similarity index 100% rename from backend/Musify.Application/Tracks/Responses/TrackApplicationResponse.cs rename to backend/Core/Musify.Application/Tracks/Responses/TrackApplicationResponse.cs diff --git a/backend/Musify.Application/Tracks/Responses/TrackStreamResponse.cs b/backend/Core/Musify.Application/Tracks/Responses/TrackStreamResponse.cs similarity index 100% rename from backend/Musify.Application/Tracks/Responses/TrackStreamResponse.cs rename to backend/Core/Musify.Application/Tracks/Responses/TrackStreamResponse.cs diff --git a/backend/Musify.Application/Tracks/Responses/TrackUploadUrlsResponse.cs b/backend/Core/Musify.Application/Tracks/Responses/TrackUploadUrlsResponse.cs similarity index 100% rename from backend/Musify.Application/Tracks/Responses/TrackUploadUrlsResponse.cs rename to backend/Core/Musify.Application/Tracks/Responses/TrackUploadUrlsResponse.cs diff --git a/backend/Musify.Application/Users/CreateUser.cs b/backend/Core/Musify.Application/Users/CreateUser.cs similarity index 100% rename from backend/Musify.Application/Users/CreateUser.cs rename to backend/Core/Musify.Application/Users/CreateUser.cs diff --git a/backend/Musify.Application/Users/GetUserById.cs b/backend/Core/Musify.Application/Users/GetUserById.cs similarity index 100% rename from backend/Musify.Application/Users/GetUserById.cs rename to backend/Core/Musify.Application/Users/GetUserById.cs diff --git a/backend/Musify.Application/Users/GetUsers.cs b/backend/Core/Musify.Application/Users/GetUsers.cs similarity index 100% rename from backend/Musify.Application/Users/GetUsers.cs rename to backend/Core/Musify.Application/Users/GetUsers.cs diff --git a/backend/Musify.Application/Users/Responses/UserApplicationResponse.cs b/backend/Core/Musify.Application/Users/Responses/UserApplicationResponse.cs similarity index 100% rename from backend/Musify.Application/Users/Responses/UserApplicationResponse.cs rename to backend/Core/Musify.Application/Users/Responses/UserApplicationResponse.cs diff --git a/backend/Musify.Application/Users/SyncUser.cs b/backend/Core/Musify.Application/Users/SyncUser.cs similarity index 100% rename from backend/Musify.Application/Users/SyncUser.cs rename to backend/Core/Musify.Application/Users/SyncUser.cs diff --git a/backend/Musify.Application/YouTube/GetYouTubeAlbum.cs b/backend/Core/Musify.Application/YouTube/GetYouTubeAlbum.cs similarity index 100% rename from backend/Musify.Application/YouTube/GetYouTubeAlbum.cs rename to backend/Core/Musify.Application/YouTube/GetYouTubeAlbum.cs diff --git a/backend/Musify.Application/YouTube/ResolveYouTubeTrackStream.cs b/backend/Core/Musify.Application/YouTube/ResolveYouTubeTrackStream.cs similarity index 100% rename from backend/Musify.Application/YouTube/ResolveYouTubeTrackStream.cs rename to backend/Core/Musify.Application/YouTube/ResolveYouTubeTrackStream.cs diff --git a/backend/Musify.Application/YouTube/Responses/YouTubeStreamResponse.cs b/backend/Core/Musify.Application/YouTube/Responses/YouTubeStreamResponse.cs similarity index 100% rename from backend/Musify.Application/YouTube/Responses/YouTubeStreamResponse.cs rename to backend/Core/Musify.Application/YouTube/Responses/YouTubeStreamResponse.cs diff --git a/backend/Musify.Application/YouTube/SearchYouTubeAlbums.cs b/backend/Core/Musify.Application/YouTube/SearchYouTubeAlbums.cs similarity index 100% rename from backend/Musify.Application/YouTube/SearchYouTubeAlbums.cs rename to backend/Core/Musify.Application/YouTube/SearchYouTubeAlbums.cs diff --git a/backend/Musify.Application/YouTube/SearchYouTubeTracks.cs b/backend/Core/Musify.Application/YouTube/SearchYouTubeTracks.cs similarity index 100% rename from backend/Musify.Application/YouTube/SearchYouTubeTracks.cs rename to backend/Core/Musify.Application/YouTube/SearchYouTubeTracks.cs diff --git a/backend/Musify.Domain/Abstractions/IAuditable.cs b/backend/Core/Musify.Domain/Abstractions/IAuditable.cs similarity index 100% rename from backend/Musify.Domain/Abstractions/IAuditable.cs rename to backend/Core/Musify.Domain/Abstractions/IAuditable.cs diff --git a/backend/Musify.Domain/Entities/Album.cs b/backend/Core/Musify.Domain/Entities/Album.cs similarity index 100% rename from backend/Musify.Domain/Entities/Album.cs rename to backend/Core/Musify.Domain/Entities/Album.cs diff --git a/backend/Musify.Domain/Entities/AlbumHasTrack.cs b/backend/Core/Musify.Domain/Entities/AlbumHasTrack.cs similarity index 100% rename from backend/Musify.Domain/Entities/AlbumHasTrack.cs rename to backend/Core/Musify.Domain/Entities/AlbumHasTrack.cs diff --git a/backend/Musify.Domain/Entities/Artist.cs b/backend/Core/Musify.Domain/Entities/Artist.cs similarity index 100% rename from backend/Musify.Domain/Entities/Artist.cs rename to backend/Core/Musify.Domain/Entities/Artist.cs diff --git a/backend/Musify.Domain/Entities/ExternalAlbum.cs b/backend/Core/Musify.Domain/Entities/ExternalAlbum.cs similarity index 100% rename from backend/Musify.Domain/Entities/ExternalAlbum.cs rename to backend/Core/Musify.Domain/Entities/ExternalAlbum.cs diff --git a/backend/Musify.Domain/Entities/ExternalTrack.cs b/backend/Core/Musify.Domain/Entities/ExternalTrack.cs similarity index 100% rename from backend/Musify.Domain/Entities/ExternalTrack.cs rename to backend/Core/Musify.Domain/Entities/ExternalTrack.cs diff --git a/backend/Musify.Domain/Entities/ListeningHistory.cs b/backend/Core/Musify.Domain/Entities/ListeningHistory.cs similarity index 100% rename from backend/Musify.Domain/Entities/ListeningHistory.cs rename to backend/Core/Musify.Domain/Entities/ListeningHistory.cs diff --git a/backend/Musify.Domain/Entities/LocalTrack.cs b/backend/Core/Musify.Domain/Entities/LocalTrack.cs similarity index 100% rename from backend/Musify.Domain/Entities/LocalTrack.cs rename to backend/Core/Musify.Domain/Entities/LocalTrack.cs diff --git a/backend/Musify.Domain/Entities/Mix.cs b/backend/Core/Musify.Domain/Entities/Mix.cs similarity index 100% rename from backend/Musify.Domain/Entities/Mix.cs rename to backend/Core/Musify.Domain/Entities/Mix.cs diff --git a/backend/Musify.Domain/Entities/MixItem.cs b/backend/Core/Musify.Domain/Entities/MixItem.cs similarity index 100% rename from backend/Musify.Domain/Entities/MixItem.cs rename to backend/Core/Musify.Domain/Entities/MixItem.cs diff --git a/backend/Musify.Domain/Entities/PlayList.cs b/backend/Core/Musify.Domain/Entities/PlayList.cs similarity index 100% rename from backend/Musify.Domain/Entities/PlayList.cs rename to backend/Core/Musify.Domain/Entities/PlayList.cs diff --git a/backend/Musify.Domain/Entities/PlayListHasTrack.cs b/backend/Core/Musify.Domain/Entities/PlayListHasTrack.cs similarity index 100% rename from backend/Musify.Domain/Entities/PlayListHasTrack.cs rename to backend/Core/Musify.Domain/Entities/PlayListHasTrack.cs diff --git a/backend/Musify.Domain/Entities/Track.cs b/backend/Core/Musify.Domain/Entities/Track.cs similarity index 100% rename from backend/Musify.Domain/Entities/Track.cs rename to backend/Core/Musify.Domain/Entities/Track.cs diff --git a/backend/Musify.Domain/Entities/TrackArtist.cs b/backend/Core/Musify.Domain/Entities/TrackArtist.cs similarity index 100% rename from backend/Musify.Domain/Entities/TrackArtist.cs rename to backend/Core/Musify.Domain/Entities/TrackArtist.cs diff --git a/backend/Musify.Domain/Entities/Upload.cs b/backend/Core/Musify.Domain/Entities/Upload.cs similarity index 100% rename from backend/Musify.Domain/Entities/Upload.cs rename to backend/Core/Musify.Domain/Entities/Upload.cs diff --git a/backend/Musify.Domain/Entities/UploadIntent.cs b/backend/Core/Musify.Domain/Entities/UploadIntent.cs similarity index 100% rename from backend/Musify.Domain/Entities/UploadIntent.cs rename to backend/Core/Musify.Domain/Entities/UploadIntent.cs diff --git a/backend/Musify.Domain/Entities/User.cs b/backend/Core/Musify.Domain/Entities/User.cs similarity index 100% rename from backend/Musify.Domain/Entities/User.cs rename to backend/Core/Musify.Domain/Entities/User.cs diff --git a/backend/Musify.Domain/Entities/UserAlbum.cs b/backend/Core/Musify.Domain/Entities/UserAlbum.cs similarity index 100% rename from backend/Musify.Domain/Entities/UserAlbum.cs rename to backend/Core/Musify.Domain/Entities/UserAlbum.cs diff --git a/backend/Musify.Domain/Entities/UserHasTrack.cs b/backend/Core/Musify.Domain/Entities/UserHasTrack.cs similarity index 100% rename from backend/Musify.Domain/Entities/UserHasTrack.cs rename to backend/Core/Musify.Domain/Entities/UserHasTrack.cs diff --git a/backend/Musify.Domain/Musify.Domain.csproj b/backend/Core/Musify.Domain/Musify.Domain.csproj similarity index 100% rename from backend/Musify.Domain/Musify.Domain.csproj rename to backend/Core/Musify.Domain/Musify.Domain.csproj diff --git a/backend/Musify.Domain/ValueObjects/AlbumPictures.cs b/backend/Core/Musify.Domain/ValueObjects/AlbumPictures.cs similarity index 100% rename from backend/Musify.Domain/ValueObjects/AlbumPictures.cs rename to backend/Core/Musify.Domain/ValueObjects/AlbumPictures.cs diff --git a/backend/Musify.Domain/ValueObjects/LifeCycleStatus.cs b/backend/Core/Musify.Domain/ValueObjects/LifeCycleStatus.cs similarity index 100% rename from backend/Musify.Domain/ValueObjects/LifeCycleStatus.cs rename to backend/Core/Musify.Domain/ValueObjects/LifeCycleStatus.cs diff --git a/backend/Musify.Domain/ValueObjects/MixItemSource.cs b/backend/Core/Musify.Domain/ValueObjects/MixItemSource.cs similarity index 100% rename from backend/Musify.Domain/ValueObjects/MixItemSource.cs rename to backend/Core/Musify.Domain/ValueObjects/MixItemSource.cs diff --git a/backend/Musify.Domain/ValueObjects/PlayListPictures.cs b/backend/Core/Musify.Domain/ValueObjects/PlayListPictures.cs similarity index 100% rename from backend/Musify.Domain/ValueObjects/PlayListPictures.cs rename to backend/Core/Musify.Domain/ValueObjects/PlayListPictures.cs diff --git a/backend/Musify.Domain/ValueObjects/ProcessingStatus.cs b/backend/Core/Musify.Domain/ValueObjects/ProcessingStatus.cs similarity index 100% rename from backend/Musify.Domain/ValueObjects/ProcessingStatus.cs rename to backend/Core/Musify.Domain/ValueObjects/ProcessingStatus.cs diff --git a/backend/Musify.Domain/ValueObjects/TrackAudio.cs b/backend/Core/Musify.Domain/ValueObjects/TrackAudio.cs similarity index 100% rename from backend/Musify.Domain/ValueObjects/TrackAudio.cs rename to backend/Core/Musify.Domain/ValueObjects/TrackAudio.cs diff --git a/backend/Musify.Domain/ValueObjects/TrackPictures.cs b/backend/Core/Musify.Domain/ValueObjects/TrackPictures.cs similarity index 100% rename from backend/Musify.Domain/ValueObjects/TrackPictures.cs rename to backend/Core/Musify.Domain/ValueObjects/TrackPictures.cs diff --git a/backend/Musify.Domain/ValueObjects/TrackSource.cs b/backend/Core/Musify.Domain/ValueObjects/TrackSource.cs similarity index 100% rename from backend/Musify.Domain/ValueObjects/TrackSource.cs rename to backend/Core/Musify.Domain/ValueObjects/TrackSource.cs diff --git a/backend/Musify.Domain/ValueObjects/UploadIntentPurpose.cs b/backend/Core/Musify.Domain/ValueObjects/UploadIntentPurpose.cs similarity index 100% rename from backend/Musify.Domain/ValueObjects/UploadIntentPurpose.cs rename to backend/Core/Musify.Domain/ValueObjects/UploadIntentPurpose.cs diff --git a/backend/Musify.Domain/ValueObjects/UploadIntentStatus.cs b/backend/Core/Musify.Domain/ValueObjects/UploadIntentStatus.cs similarity index 100% rename from backend/Musify.Domain/ValueObjects/UploadIntentStatus.cs rename to backend/Core/Musify.Domain/ValueObjects/UploadIntentStatus.cs diff --git a/backend/Musify.Domain/ValueObjects/UploadState.cs b/backend/Core/Musify.Domain/ValueObjects/UploadState.cs similarity index 100% rename from backend/Musify.Domain/ValueObjects/UploadState.cs rename to backend/Core/Musify.Domain/ValueObjects/UploadState.cs diff --git a/backend/Musify.Infrastructure/Assets/PlayListDefaultCover.png b/backend/Core/Musify.Infrastructure/Assets/PlayListDefaultCover.png similarity index 100% rename from backend/Musify.Infrastructure/Assets/PlayListDefaultCover.png rename to backend/Core/Musify.Infrastructure/Assets/PlayListDefaultCover.png diff --git a/backend/Musify.Infrastructure/Configuration/AudioConfiguration.cs b/backend/Core/Musify.Infrastructure/Configuration/AudioConfiguration.cs similarity index 100% rename from backend/Musify.Infrastructure/Configuration/AudioConfiguration.cs rename to backend/Core/Musify.Infrastructure/Configuration/AudioConfiguration.cs diff --git a/backend/Musify.Infrastructure/Configuration/DatabaseConfiguration.cs b/backend/Core/Musify.Infrastructure/Configuration/DatabaseConfiguration.cs similarity index 100% rename from backend/Musify.Infrastructure/Configuration/DatabaseConfiguration.cs rename to backend/Core/Musify.Infrastructure/Configuration/DatabaseConfiguration.cs diff --git a/backend/Musify.Infrastructure/Configuration/InfrastructureStorageConfiguration.cs b/backend/Core/Musify.Infrastructure/Configuration/InfrastructureStorageConfiguration.cs similarity index 100% rename from backend/Musify.Infrastructure/Configuration/InfrastructureStorageConfiguration.cs rename to backend/Core/Musify.Infrastructure/Configuration/InfrastructureStorageConfiguration.cs diff --git a/backend/Musify.Infrastructure/Configuration/MassTransitConfiguration.cs b/backend/Core/Musify.Infrastructure/Configuration/MassTransitConfiguration.cs similarity index 100% rename from backend/Musify.Infrastructure/Configuration/MassTransitConfiguration.cs rename to backend/Core/Musify.Infrastructure/Configuration/MassTransitConfiguration.cs diff --git a/backend/Musify.Infrastructure/Configuration/OpenTelemetryConfiguration.cs b/backend/Core/Musify.Infrastructure/Configuration/OpenTelemetryConfiguration.cs similarity index 100% rename from backend/Musify.Infrastructure/Configuration/OpenTelemetryConfiguration.cs rename to backend/Core/Musify.Infrastructure/Configuration/OpenTelemetryConfiguration.cs diff --git a/backend/Musify.Infrastructure/Configuration/StreamTicketConfiguration.cs b/backend/Core/Musify.Infrastructure/Configuration/StreamTicketConfiguration.cs similarity index 100% rename from backend/Musify.Infrastructure/Configuration/StreamTicketConfiguration.cs rename to backend/Core/Musify.Infrastructure/Configuration/StreamTicketConfiguration.cs diff --git a/backend/Musify.Infrastructure/Configuration/WorkerConfiguration.cs b/backend/Core/Musify.Infrastructure/Configuration/WorkerConfiguration.cs similarity index 100% rename from backend/Musify.Infrastructure/Configuration/WorkerConfiguration.cs rename to backend/Core/Musify.Infrastructure/Configuration/WorkerConfiguration.cs diff --git a/backend/Musify.Infrastructure/Configuration/YouTubeConfiguration.cs b/backend/Core/Musify.Infrastructure/Configuration/YouTubeConfiguration.cs similarity index 100% rename from backend/Musify.Infrastructure/Configuration/YouTubeConfiguration.cs rename to backend/Core/Musify.Infrastructure/Configuration/YouTubeConfiguration.cs diff --git a/backend/Musify.Infrastructure/Configuration/YtDlpConfiguration.cs b/backend/Core/Musify.Infrastructure/Configuration/YtDlpConfiguration.cs similarity index 100% rename from backend/Musify.Infrastructure/Configuration/YtDlpConfiguration.cs rename to backend/Core/Musify.Infrastructure/Configuration/YtDlpConfiguration.cs diff --git a/backend/Musify.Infrastructure/DesignSettings.json b/backend/Core/Musify.Infrastructure/DesignSettings.json similarity index 100% rename from backend/Musify.Infrastructure/DesignSettings.json rename to backend/Core/Musify.Infrastructure/DesignSettings.json diff --git a/backend/Musify.Infrastructure/Helpers/YouTubeThumbNailHelper.cs b/backend/Core/Musify.Infrastructure/Helpers/YouTubeThumbNailHelper.cs similarity index 100% rename from backend/Musify.Infrastructure/Helpers/YouTubeThumbNailHelper.cs rename to backend/Core/Musify.Infrastructure/Helpers/YouTubeThumbNailHelper.cs diff --git a/backend/Musify.Infrastructure/Jobs/DailyMixGenerationJob.cs b/backend/Core/Musify.Infrastructure/Jobs/DailyMixGenerationJob.cs similarity index 100% rename from backend/Musify.Infrastructure/Jobs/DailyMixGenerationJob.cs rename to backend/Core/Musify.Infrastructure/Jobs/DailyMixGenerationJob.cs diff --git a/backend/Musify.Infrastructure/Jobs/TemporalUploadsCleanupJob.cs b/backend/Core/Musify.Infrastructure/Jobs/TemporalUploadsCleanupJob.cs similarity index 100% rename from backend/Musify.Infrastructure/Jobs/TemporalUploadsCleanupJob.cs rename to backend/Core/Musify.Infrastructure/Jobs/TemporalUploadsCleanupJob.cs diff --git a/backend/Musify.Infrastructure/Jobs/UploadIntentExpirationJob.cs b/backend/Core/Musify.Infrastructure/Jobs/UploadIntentExpirationJob.cs similarity index 100% rename from backend/Musify.Infrastructure/Jobs/UploadIntentExpirationJob.cs rename to backend/Core/Musify.Infrastructure/Jobs/UploadIntentExpirationJob.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Audio/DownloadYouTubeAudioActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Audio/DownloadYouTubeAudioActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Audio/DownloadYouTubeAudioActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Audio/DownloadYouTubeAudioActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Audio/GenerateAudioWorkflowPathsActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Audio/GenerateAudioWorkflowPathsActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Audio/GenerateAudioWorkflowPathsActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Audio/GenerateAudioWorkflowPathsActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Audio/TranscodeAudioActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Audio/TranscodeAudioActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Audio/TranscodeAudioActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Audio/TranscodeAudioActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Audio/UpdateTrackAudioActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Audio/UpdateTrackAudioActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Audio/UpdateTrackAudioActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Audio/UpdateTrackAudioActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Files/CopyFileInBucketActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Files/CopyFileInBucketActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Files/CopyFileInBucketActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Files/CopyFileInBucketActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Files/DownloadFileFromBucketActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Files/DownloadFileFromBucketActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Files/DownloadFileFromBucketActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Files/DownloadFileFromBucketActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Files/DownloadFileFromUrlActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Files/DownloadFileFromUrlActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Files/DownloadFileFromUrlActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Files/DownloadFileFromUrlActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Files/RemoveFileFromBucketActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Files/RemoveFileFromBucketActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Files/RemoveFileFromBucketActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Files/RemoveFileFromBucketActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Files/TransferFilesToBucketActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Files/TransferFilesToBucketActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Files/TransferFilesToBucketActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Files/TransferFilesToBucketActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Files/UploadFileToBucketActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Files/UploadFileToBucketActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Files/UploadFileToBucketActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Files/UploadFileToBucketActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Pictures/GeneratePictureWorkflowPathsActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Pictures/GeneratePictureWorkflowPathsActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Pictures/GeneratePictureWorkflowPathsActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Pictures/GeneratePictureWorkflowPathsActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Pictures/ResizePictureActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Pictures/ResizePictureActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Pictures/ResizePictureActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Pictures/ResizePictureActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Pictures/UpdatePlayListPictureActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Pictures/UpdatePlayListPictureActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Pictures/UpdatePlayListPictureActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Pictures/UpdatePlayListPictureActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Pictures/UpdateTrackPictureActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Pictures/UpdateTrackPictureActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Pictures/UpdateTrackPictureActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Pictures/UpdateTrackPictureActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/PlayLists/DeletePlayListFromDbActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/PlayLists/DeletePlayListFromDbActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/PlayLists/DeletePlayListFromDbActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/PlayLists/DeletePlayListFromDbActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/PlayLists/MarkPlayListAsFailedActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/PlayLists/MarkPlayListAsFailedActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/PlayLists/MarkPlayListAsFailedActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/PlayLists/MarkPlayListAsFailedActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/PlayLists/MarkPlayListAsRemovingActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/PlayLists/MarkPlayListAsRemovingActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/PlayLists/MarkPlayListAsRemovingActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/PlayLists/MarkPlayListAsRemovingActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/PlayLists/PublishPlayListPictureProcessingEventActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/PlayLists/PublishPlayListPictureProcessingEventActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/PlayLists/PublishPlayListPictureProcessingEventActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/PlayLists/PublishPlayListPictureProcessingEventActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Tracks/DeleteTrackFromDbActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Tracks/DeleteTrackFromDbActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Tracks/DeleteTrackFromDbActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Tracks/DeleteTrackFromDbActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Tracks/MarkTrackAsFailedActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Tracks/MarkTrackAsFailedActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Tracks/MarkTrackAsFailedActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Tracks/MarkTrackAsFailedActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Tracks/MarkTrackAsRemovingActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Tracks/MarkTrackAsRemovingActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Tracks/MarkTrackAsRemovingActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Tracks/MarkTrackAsRemovingActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/Tracks/PublishTrackProcessingEventsActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/Tracks/PublishTrackProcessingEventsActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/Tracks/PublishTrackProcessingEventsActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/Tracks/PublishTrackProcessingEventsActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Activities/UploadIntents/ConsumeUploadIntentsActivity.cs b/backend/Core/Musify.Infrastructure/MassTransit/Activities/UploadIntents/ConsumeUploadIntentsActivity.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Activities/UploadIntents/ConsumeUploadIntentsActivity.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Activities/UploadIntents/ConsumeUploadIntentsActivity.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/ConsumeUploadIntentsArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/ConsumeUploadIntentsArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/ConsumeUploadIntentsArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/ConsumeUploadIntentsArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/CopyFileInBucketArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/CopyFileInBucketArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/CopyFileInBucketArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/CopyFileInBucketArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/DeletePlayListFromDbArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/DeletePlayListFromDbArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/DeletePlayListFromDbArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/DeletePlayListFromDbArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/DeleteTrackFromDbArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/DeleteTrackFromDbArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/DeleteTrackFromDbArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/DeleteTrackFromDbArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/DownloadFileFromBucketArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/DownloadFileFromBucketArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/DownloadFileFromBucketArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/DownloadFileFromBucketArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/DownloadFileFromUrlArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/DownloadFileFromUrlArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/DownloadFileFromUrlArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/DownloadFileFromUrlArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/DownloadYouTubeAudioArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/DownloadYouTubeAudioArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/DownloadYouTubeAudioArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/DownloadYouTubeAudioArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/GenerateAudioWorkflowPathsArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/GenerateAudioWorkflowPathsArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/GenerateAudioWorkflowPathsArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/GenerateAudioWorkflowPathsArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/GeneratePictureWorkflowPathsArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/GeneratePictureWorkflowPathsArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/GeneratePictureWorkflowPathsArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/GeneratePictureWorkflowPathsArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/MarkPlayListAsFailedArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/MarkPlayListAsFailedArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/MarkPlayListAsFailedArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/MarkPlayListAsFailedArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/MarkPlayListAsRemovingArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/MarkPlayListAsRemovingArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/MarkPlayListAsRemovingArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/MarkPlayListAsRemovingArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/MarkTrackAsFailedArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/MarkTrackAsFailedArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/MarkTrackAsFailedArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/MarkTrackAsFailedArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/MarkTrackAsRemovingArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/MarkTrackAsRemovingArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/MarkTrackAsRemovingArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/MarkTrackAsRemovingArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/PublishPlayListPictureProcessingEventArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/PublishPlayListPictureProcessingEventArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/PublishPlayListPictureProcessingEventArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/PublishPlayListPictureProcessingEventArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/PublishTrackProcessingEventsArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/PublishTrackProcessingEventsArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/PublishTrackProcessingEventsArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/PublishTrackProcessingEventsArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/RemoveFileFromBucketArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/RemoveFileFromBucketArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/RemoveFileFromBucketArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/RemoveFileFromBucketArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/ResizePictureLocalArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/ResizePictureLocalArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/ResizePictureLocalArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/ResizePictureLocalArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/TranscodeAudioArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/TranscodeAudioArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/TranscodeAudioArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/TranscodeAudioArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/TransferFilesToBucketArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/TransferFilesToBucketArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/TransferFilesToBucketArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/TransferFilesToBucketArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/UpdatePlayListPictureArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/UpdatePlayListPictureArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/UpdatePlayListPictureArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/UpdatePlayListPictureArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/UpdateTrackAudioArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/UpdateTrackAudioArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/UpdateTrackAudioArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/UpdateTrackAudioArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/UpdateTrackPictureArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/UpdateTrackPictureArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/UpdateTrackPictureArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/UpdateTrackPictureArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Arguments/UploadFileToBucketArguments.cs b/backend/Core/Musify.Infrastructure/MassTransit/Arguments/UploadFileToBucketArguments.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Arguments/UploadFileToBucketArguments.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Arguments/UploadFileToBucketArguments.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Consumers/CreatePlayListConsumer.cs b/backend/Core/Musify.Infrastructure/MassTransit/Consumers/CreatePlayListConsumer.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Consumers/CreatePlayListConsumer.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Consumers/CreatePlayListConsumer.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Consumers/CreateTrackConsumer.cs b/backend/Core/Musify.Infrastructure/MassTransit/Consumers/CreateTrackConsumer.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Consumers/CreateTrackConsumer.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Consumers/CreateTrackConsumer.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Consumers/DeletePlayListConsumer.cs b/backend/Core/Musify.Infrastructure/MassTransit/Consumers/DeletePlayListConsumer.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Consumers/DeletePlayListConsumer.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Consumers/DeletePlayListConsumer.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Consumers/DeleteTrackConsumer.cs b/backend/Core/Musify.Infrastructure/MassTransit/Consumers/DeleteTrackConsumer.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Consumers/DeleteTrackConsumer.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Consumers/DeleteTrackConsumer.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Consumers/DownloadYouTubeTrackConsumer.cs b/backend/Core/Musify.Infrastructure/MassTransit/Consumers/DownloadYouTubeTrackConsumer.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Consumers/DownloadYouTubeTrackConsumer.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Consumers/DownloadYouTubeTrackConsumer.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Consumers/EndpointHelper.cs b/backend/Core/Musify.Infrastructure/MassTransit/Consumers/EndpointHelper.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Consumers/EndpointHelper.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Consumers/EndpointHelper.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Consumers/PlayListProcessingFailedConsumer.cs b/backend/Core/Musify.Infrastructure/MassTransit/Consumers/PlayListProcessingFailedConsumer.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Consumers/PlayListProcessingFailedConsumer.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Consumers/PlayListProcessingFailedConsumer.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Consumers/ProcessingSlipFaultConsumer.cs b/backend/Core/Musify.Infrastructure/MassTransit/Consumers/ProcessingSlipFaultConsumer.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Consumers/ProcessingSlipFaultConsumer.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Consumers/ProcessingSlipFaultConsumer.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Consumers/RoutingSlipCleanUpConsumer.cs b/backend/Core/Musify.Infrastructure/MassTransit/Consumers/RoutingSlipCleanUpConsumer.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Consumers/RoutingSlipCleanUpConsumer.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Consumers/RoutingSlipCleanUpConsumer.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Consumers/TrackProcessingFailedConsumer.cs b/backend/Core/Musify.Infrastructure/MassTransit/Consumers/TrackProcessingFailedConsumer.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Consumers/TrackProcessingFailedConsumer.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Consumers/TrackProcessingFailedConsumer.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Consumers/UpdatePlayListPictureConsumer.cs b/backend/Core/Musify.Infrastructure/MassTransit/Consumers/UpdatePlayListPictureConsumer.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Consumers/UpdatePlayListPictureConsumer.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Consumers/UpdatePlayListPictureConsumer.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Consumers/UpdatePlayListPictureSourceConsumer.cs b/backend/Core/Musify.Infrastructure/MassTransit/Consumers/UpdatePlayListPictureSourceConsumer.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Consumers/UpdatePlayListPictureSourceConsumer.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Consumers/UpdatePlayListPictureSourceConsumer.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Consumers/UpdateTrackAudioConsumer.cs b/backend/Core/Musify.Infrastructure/MassTransit/Consumers/UpdateTrackAudioConsumer.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Consumers/UpdateTrackAudioConsumer.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Consumers/UpdateTrackAudioConsumer.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Consumers/UpdateTrackPictureConsumer.cs b/backend/Core/Musify.Infrastructure/MassTransit/Consumers/UpdateTrackPictureConsumer.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Consumers/UpdateTrackPictureConsumer.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Consumers/UpdateTrackPictureConsumer.cs diff --git a/backend/Musify.Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.Options.cs b/backend/Core/Musify.Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.Options.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.Options.cs rename to backend/Core/Musify.Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.Options.cs diff --git a/backend/Musify.Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.Registration.cs b/backend/Core/Musify.Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.Registration.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.Registration.cs rename to backend/Core/Musify.Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.Registration.cs diff --git a/backend/Musify.Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.cs b/backend/Core/Musify.Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.cs rename to backend/Core/Musify.Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Logs/ConsumeUploadIntentsLog.cs b/backend/Core/Musify.Infrastructure/MassTransit/Logs/ConsumeUploadIntentsLog.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Logs/ConsumeUploadIntentsLog.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Logs/ConsumeUploadIntentsLog.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Logs/CopyFileInBucketLog.cs b/backend/Core/Musify.Infrastructure/MassTransit/Logs/CopyFileInBucketLog.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Logs/CopyFileInBucketLog.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Logs/CopyFileInBucketLog.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Logs/DownloadFileFromBucketLog.cs b/backend/Core/Musify.Infrastructure/MassTransit/Logs/DownloadFileFromBucketLog.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Logs/DownloadFileFromBucketLog.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Logs/DownloadFileFromBucketLog.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Logs/DownloadFileFromUrlLog.cs b/backend/Core/Musify.Infrastructure/MassTransit/Logs/DownloadFileFromUrlLog.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Logs/DownloadFileFromUrlLog.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Logs/DownloadFileFromUrlLog.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Logs/DownloadYouTubeAudioLog.cs b/backend/Core/Musify.Infrastructure/MassTransit/Logs/DownloadYouTubeAudioLog.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Logs/DownloadYouTubeAudioLog.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Logs/DownloadYouTubeAudioLog.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Logs/GeneratePictureWorkflowPathsLog.cs b/backend/Core/Musify.Infrastructure/MassTransit/Logs/GeneratePictureWorkflowPathsLog.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Logs/GeneratePictureWorkflowPathsLog.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Logs/GeneratePictureWorkflowPathsLog.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Logs/ResizePictureLog.cs b/backend/Core/Musify.Infrastructure/MassTransit/Logs/ResizePictureLog.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Logs/ResizePictureLog.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Logs/ResizePictureLog.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Logs/TranscodeAudioLog.cs b/backend/Core/Musify.Infrastructure/MassTransit/Logs/TranscodeAudioLog.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Logs/TranscodeAudioLog.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Logs/TranscodeAudioLog.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Logs/TransferFilesToBucketLog.cs b/backend/Core/Musify.Infrastructure/MassTransit/Logs/TransferFilesToBucketLog.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Logs/TransferFilesToBucketLog.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Logs/TransferFilesToBucketLog.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Logs/UpdatePlayListPictureLog.cs b/backend/Core/Musify.Infrastructure/MassTransit/Logs/UpdatePlayListPictureLog.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Logs/UpdatePlayListPictureLog.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Logs/UpdatePlayListPictureLog.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Logs/UpdateTrackAudioLog.cs b/backend/Core/Musify.Infrastructure/MassTransit/Logs/UpdateTrackAudioLog.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Logs/UpdateTrackAudioLog.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Logs/UpdateTrackAudioLog.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Logs/UpdateTrackPictureLog.cs b/backend/Core/Musify.Infrastructure/MassTransit/Logs/UpdateTrackPictureLog.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Logs/UpdateTrackPictureLog.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Logs/UpdateTrackPictureLog.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Logs/UploadFileToBucketLog.cs b/backend/Core/Musify.Infrastructure/MassTransit/Logs/UploadFileToBucketLog.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Logs/UploadFileToBucketLog.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Logs/UploadFileToBucketLog.cs diff --git a/backend/Musify.Infrastructure/MassTransit/MassTransitEventBus.cs b/backend/Core/Musify.Infrastructure/MassTransit/MassTransitEventBus.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/MassTransitEventBus.cs rename to backend/Core/Musify.Infrastructure/MassTransit/MassTransitEventBus.cs diff --git a/backend/Musify.Infrastructure/MassTransit/RoutingSlip/ActivityNames.cs b/backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/ActivityNames.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/RoutingSlip/ActivityNames.cs rename to backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/ActivityNames.cs diff --git a/backend/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/AudioWorkflowRoutingSlipBuilder.cs b/backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/AudioWorkflowRoutingSlipBuilder.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/AudioWorkflowRoutingSlipBuilder.cs rename to backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/AudioWorkflowRoutingSlipBuilder.cs diff --git a/backend/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/CreateTrackRoutingSlipBuilder.cs b/backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/CreateTrackRoutingSlipBuilder.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/CreateTrackRoutingSlipBuilder.cs rename to backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/CreateTrackRoutingSlipBuilder.cs diff --git a/backend/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/DeletePlayListRoutingSlipBuilder.cs b/backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/DeletePlayListRoutingSlipBuilder.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/DeletePlayListRoutingSlipBuilder.cs rename to backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/DeletePlayListRoutingSlipBuilder.cs diff --git a/backend/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/DeleteTrackRoutingSlipBuilder.cs b/backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/DeleteTrackRoutingSlipBuilder.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/DeleteTrackRoutingSlipBuilder.cs rename to backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/DeleteTrackRoutingSlipBuilder.cs diff --git a/backend/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/PictureWorkflowRoutingSlipBuilder.cs b/backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/PictureWorkflowRoutingSlipBuilder.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/PictureWorkflowRoutingSlipBuilder.cs rename to backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/PictureWorkflowRoutingSlipBuilder.cs diff --git a/backend/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/PlayListPictureSourceRoutingSlipBuilder.cs b/backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/PlayListPictureSourceRoutingSlipBuilder.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/PlayListPictureSourceRoutingSlipBuilder.cs rename to backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/PlayListPictureSourceRoutingSlipBuilder.cs diff --git a/backend/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/YouTubeTrackRoutingSlipBuilder.cs b/backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/YouTubeTrackRoutingSlipBuilder.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/YouTubeTrackRoutingSlipBuilder.cs rename to backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/Builders/YouTubeTrackRoutingSlipBuilder.cs diff --git a/backend/Musify.Infrastructure/MassTransit/RoutingSlip/RoutingSlipVariableNames.cs b/backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/RoutingSlipVariableNames.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/RoutingSlip/RoutingSlipVariableNames.cs rename to backend/Core/Musify.Infrastructure/MassTransit/RoutingSlip/RoutingSlipVariableNames.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Sagas/PlayListProcessingState.cs b/backend/Core/Musify.Infrastructure/MassTransit/Sagas/PlayListProcessingState.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Sagas/PlayListProcessingState.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Sagas/PlayListProcessingState.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Sagas/PlayListProcessingStateMachine.cs b/backend/Core/Musify.Infrastructure/MassTransit/Sagas/PlayListProcessingStateMachine.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Sagas/PlayListProcessingStateMachine.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Sagas/PlayListProcessingStateMachine.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Sagas/TrackProcessingState.cs b/backend/Core/Musify.Infrastructure/MassTransit/Sagas/TrackProcessingState.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Sagas/TrackProcessingState.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Sagas/TrackProcessingState.cs diff --git a/backend/Musify.Infrastructure/MassTransit/Sagas/TrackProcessingStateMachine.cs b/backend/Core/Musify.Infrastructure/MassTransit/Sagas/TrackProcessingStateMachine.cs similarity index 100% rename from backend/Musify.Infrastructure/MassTransit/Sagas/TrackProcessingStateMachine.cs rename to backend/Core/Musify.Infrastructure/MassTransit/Sagas/TrackProcessingStateMachine.cs diff --git a/backend/Musify.Infrastructure/Musify.Infrastructure.csproj b/backend/Core/Musify.Infrastructure/Musify.Infrastructure.csproj similarity index 100% rename from backend/Musify.Infrastructure/Musify.Infrastructure.csproj rename to backend/Core/Musify.Infrastructure/Musify.Infrastructure.csproj diff --git a/backend/Musify.Infrastructure/Observability/OpenTelemetryDependencyInjection.cs b/backend/Core/Musify.Infrastructure/Observability/OpenTelemetryDependencyInjection.cs similarity index 100% rename from backend/Musify.Infrastructure/Observability/OpenTelemetryDependencyInjection.cs rename to backend/Core/Musify.Infrastructure/Observability/OpenTelemetryDependencyInjection.cs diff --git a/backend/Musify.Infrastructure/Persistence/AuditableEntityInterceptor.cs b/backend/Core/Musify.Infrastructure/Persistence/AuditableEntityInterceptor.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/AuditableEntityInterceptor.cs rename to backend/Core/Musify.Infrastructure/Persistence/AuditableEntityInterceptor.cs diff --git a/backend/Musify.Infrastructure/Persistence/Database.cs b/backend/Core/Musify.Infrastructure/Persistence/Database.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Database.cs rename to backend/Core/Musify.Infrastructure/Persistence/Database.cs diff --git a/backend/Musify.Infrastructure/Persistence/DatabaseDependencyInjection.cs b/backend/Core/Musify.Infrastructure/Persistence/DatabaseDependencyInjection.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/DatabaseDependencyInjection.cs rename to backend/Core/Musify.Infrastructure/Persistence/DatabaseDependencyInjection.cs diff --git a/backend/Musify.Infrastructure/Persistence/DatabaseDesignTimeFactory.cs b/backend/Core/Musify.Infrastructure/Persistence/DatabaseDesignTimeFactory.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/DatabaseDesignTimeFactory.cs rename to backend/Core/Musify.Infrastructure/Persistence/DatabaseDesignTimeFactory.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260530020027_InitialCreate.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260530020027_InitialCreate.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260530020027_InitialCreate.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260530020027_InitialCreate.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260530020027_InitialCreate.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260530020027_InitialCreate.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260530020027_InitialCreate.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260530020027_InitialCreate.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260531234306_AddUserProfilePictureUrl.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260531234306_AddUserProfilePictureUrl.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260531234306_AddUserProfilePictureUrl.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260531234306_AddUserProfilePictureUrl.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260531234306_AddUserProfilePictureUrl.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260531234306_AddUserProfilePictureUrl.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260531234306_AddUserProfilePictureUrl.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260531234306_AddUserProfilePictureUrl.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260601195757_RenameTimestampsAndAudit.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260601195757_RenameTimestampsAndAudit.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260601195757_RenameTimestampsAndAudit.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260601195757_RenameTimestampsAndAudit.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260601195757_RenameTimestampsAndAudit.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260601195757_RenameTimestampsAndAudit.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260601195757_RenameTimestampsAndAudit.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260601195757_RenameTimestampsAndAudit.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260705123932_AddTrackProcessingStateSaga.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260705123932_AddTrackProcessingStateSaga.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260705123932_AddTrackProcessingStateSaga.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260705123932_AddTrackProcessingStateSaga.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260705123932_AddTrackProcessingStateSaga.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260705123932_AddTrackProcessingStateSaga.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260705123932_AddTrackProcessingStateSaga.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260705123932_AddTrackProcessingStateSaga.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260705124807_AddTrackProcessingSagaKeys.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260705124807_AddTrackProcessingSagaKeys.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260705124807_AddTrackProcessingSagaKeys.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260705124807_AddTrackProcessingSagaKeys.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260705124807_AddTrackProcessingSagaKeys.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260705124807_AddTrackProcessingSagaKeys.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260705124807_AddTrackProcessingSagaKeys.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260705124807_AddTrackProcessingSagaKeys.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260705125356_AddPlayListProcessingStateSaga.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260705125356_AddPlayListProcessingStateSaga.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260705125356_AddPlayListProcessingStateSaga.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260705125356_AddPlayListProcessingStateSaga.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260705125356_AddPlayListProcessingStateSaga.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260705125356_AddPlayListProcessingStateSaga.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260705125356_AddPlayListProcessingStateSaga.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260705125356_AddPlayListProcessingStateSaga.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260713234847_AddListeningHistory.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260713234847_AddListeningHistory.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260713234847_AddListeningHistory.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260713234847_AddListeningHistory.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260713234847_AddListeningHistory.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260713234847_AddListeningHistory.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260713234847_AddListeningHistory.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260713234847_AddListeningHistory.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260714114537_AddTrackDuration.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260714114537_AddTrackDuration.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260714114537_AddTrackDuration.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260714114537_AddTrackDuration.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260714114537_AddTrackDuration.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260714114537_AddTrackDuration.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260714114537_AddTrackDuration.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260714114537_AddTrackDuration.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260715193951_AddTrackSourceArtistExternalId.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260715193951_AddTrackSourceArtistExternalId.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260715193951_AddTrackSourceArtistExternalId.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260715193951_AddTrackSourceArtistExternalId.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260715193951_AddTrackSourceArtistExternalId.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260715193951_AddTrackSourceArtistExternalId.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260715193951_AddTrackSourceArtistExternalId.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260715193951_AddTrackSourceArtistExternalId.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260715230836_AddTrackDownloadRequested.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260715230836_AddTrackDownloadRequested.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260715230836_AddTrackDownloadRequested.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260715230836_AddTrackDownloadRequested.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260715230836_AddTrackDownloadRequested.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260715230836_AddTrackDownloadRequested.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260715230836_AddTrackDownloadRequested.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260715230836_AddTrackDownloadRequested.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260716214442_MakeTrackMediaAndExternalIdNullable.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260716214442_MakeTrackMediaAndExternalIdNullable.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260716214442_MakeTrackMediaAndExternalIdNullable.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260716214442_MakeTrackMediaAndExternalIdNullable.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260716214442_MakeTrackMediaAndExternalIdNullable.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260716214442_MakeTrackMediaAndExternalIdNullable.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260716214442_MakeTrackMediaAndExternalIdNullable.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260716214442_MakeTrackMediaAndExternalIdNullable.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260716214752_AddArtistsAndTrackOwnership.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260716214752_AddArtistsAndTrackOwnership.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260716214752_AddArtistsAndTrackOwnership.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260716214752_AddArtistsAndTrackOwnership.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260716214752_AddArtistsAndTrackOwnership.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260716214752_AddArtistsAndTrackOwnership.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260716214752_AddArtistsAndTrackOwnership.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260716214752_AddArtistsAndTrackOwnership.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260716220047_DropTrackArtistColumn.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260716220047_DropTrackArtistColumn.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260716220047_DropTrackArtistColumn.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260716220047_DropTrackArtistColumn.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260716220047_DropTrackArtistColumn.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260716220047_DropTrackArtistColumn.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260716220047_DropTrackArtistColumn.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260716220047_DropTrackArtistColumn.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260717164632_MovePlayListPicturesToOwnedType.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260717164632_MovePlayListPicturesToOwnedType.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260717164632_MovePlayListPicturesToOwnedType.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260717164632_MovePlayListPicturesToOwnedType.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260717164632_MovePlayListPicturesToOwnedType.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260717164632_MovePlayListPicturesToOwnedType.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260717164632_MovePlayListPicturesToOwnedType.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260717164632_MovePlayListPicturesToOwnedType.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260717164812_RenameTrackDurationToDurationSeconds.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260717164812_RenameTrackDurationToDurationSeconds.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260717164812_RenameTrackDurationToDurationSeconds.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260717164812_RenameTrackDurationToDurationSeconds.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260717164812_RenameTrackDurationToDurationSeconds.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260717164812_RenameTrackDurationToDurationSeconds.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260717164812_RenameTrackDurationToDurationSeconds.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260717164812_RenameTrackDurationToDurationSeconds.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260717172507_SplitTrackIntoLocalAndExternal.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260717172507_SplitTrackIntoLocalAndExternal.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260717172507_SplitTrackIntoLocalAndExternal.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260717172507_SplitTrackIntoLocalAndExternal.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260717172507_SplitTrackIntoLocalAndExternal.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260717172507_SplitTrackIntoLocalAndExternal.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260717172507_SplitTrackIntoLocalAndExternal.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260717172507_SplitTrackIntoLocalAndExternal.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260717223358_MakePlayListPicturesNullable.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260717223358_MakePlayListPicturesNullable.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260717223358_MakePlayListPicturesNullable.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260717223358_MakePlayListPicturesNullable.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260717223358_MakePlayListPicturesNullable.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260717223358_MakePlayListPicturesNullable.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260717223358_MakePlayListPicturesNullable.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260717223358_MakePlayListPicturesNullable.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260720180629_WidenTrackTitle.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260720180629_WidenTrackTitle.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260720180629_WidenTrackTitle.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260720180629_WidenTrackTitle.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260720180629_WidenTrackTitle.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260720180629_WidenTrackTitle.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260720180629_WidenTrackTitle.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260720180629_WidenTrackTitle.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260720180747_AddAlbums.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260720180747_AddAlbums.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260720180747_AddAlbums.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260720180747_AddAlbums.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260720180747_AddAlbums.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260720180747_AddAlbums.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260720180747_AddAlbums.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260720180747_AddAlbums.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260720184656_AddUserAlbumExternalId.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260720184656_AddUserAlbumExternalId.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260720184656_AddUserAlbumExternalId.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260720184656_AddUserAlbumExternalId.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260720184656_AddUserAlbumExternalId.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260720184656_AddUserAlbumExternalId.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260720184656_AddUserAlbumExternalId.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260720184656_AddUserAlbumExternalId.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260721155102_AddMixes.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260721155102_AddMixes.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260721155102_AddMixes.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260721155102_AddMixes.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260721155102_AddMixes.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260721155102_AddMixes.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260721155102_AddMixes.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260721155102_AddMixes.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260721161653_RemoveUserAlbumExternalId.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260721161653_RemoveUserAlbumExternalId.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260721161653_RemoveUserAlbumExternalId.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260721161653_RemoveUserAlbumExternalId.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260721161653_RemoveUserAlbumExternalId.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260721161653_RemoveUserAlbumExternalId.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260721161653_RemoveUserAlbumExternalId.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260721161653_RemoveUserAlbumExternalId.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260721162102_DropMixGeneratedOn.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260721162102_DropMixGeneratedOn.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260721162102_DropMixGeneratedOn.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260721162102_DropMixGeneratedOn.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260721162102_DropMixGeneratedOn.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260721162102_DropMixGeneratedOn.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260721162102_DropMixGeneratedOn.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260721162102_DropMixGeneratedOn.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260721190735_MakePlayListDescriptionOptional.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260721190735_MakePlayListDescriptionOptional.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260721190735_MakePlayListDescriptionOptional.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260721190735_MakePlayListDescriptionOptional.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260721190735_MakePlayListDescriptionOptional.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260721190735_MakePlayListDescriptionOptional.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260721190735_MakePlayListDescriptionOptional.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260721190735_MakePlayListDescriptionOptional.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260724170051_DurationAsDouble.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260724170051_DurationAsDouble.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260724170051_DurationAsDouble.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260724170051_DurationAsDouble.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260724170051_DurationAsDouble.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260724170051_DurationAsDouble.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260724170051_DurationAsDouble.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260724170051_DurationAsDouble.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260724181012_AddExternalAlbums.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260724181012_AddExternalAlbums.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260724181012_AddExternalAlbums.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260724181012_AddExternalAlbums.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260724181012_AddExternalAlbums.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260724181012_AddExternalAlbums.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260724181012_AddExternalAlbums.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260724181012_AddExternalAlbums.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260724182659_AddExternalAlbumThumbnail.Designer.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260724182659_AddExternalAlbumThumbnail.Designer.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260724182659_AddExternalAlbumThumbnail.Designer.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260724182659_AddExternalAlbumThumbnail.Designer.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/20260724182659_AddExternalAlbumThumbnail.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/20260724182659_AddExternalAlbumThumbnail.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/20260724182659_AddExternalAlbumThumbnail.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/20260724182659_AddExternalAlbumThumbnail.cs diff --git a/backend/Musify.Infrastructure/Persistence/Migrations/DatabaseModelSnapshot.cs b/backend/Core/Musify.Infrastructure/Persistence/Migrations/DatabaseModelSnapshot.cs similarity index 100% rename from backend/Musify.Infrastructure/Persistence/Migrations/DatabaseModelSnapshot.cs rename to backend/Core/Musify.Infrastructure/Persistence/Migrations/DatabaseModelSnapshot.cs diff --git a/backend/Musify.Infrastructure/Services/AudioTranscoderService.cs b/backend/Core/Musify.Infrastructure/Services/AudioTranscoderService.cs similarity index 100% rename from backend/Musify.Infrastructure/Services/AudioTranscoderService.cs rename to backend/Core/Musify.Infrastructure/Services/AudioTranscoderService.cs diff --git a/backend/Musify.Infrastructure/Services/PictureService.cs b/backend/Core/Musify.Infrastructure/Services/PictureService.cs similarity index 100% rename from backend/Musify.Infrastructure/Services/PictureService.cs rename to backend/Core/Musify.Infrastructure/Services/PictureService.cs diff --git a/backend/Musify.Infrastructure/Services/PlayListPresetSeeder.cs b/backend/Core/Musify.Infrastructure/Services/PlayListPresetSeeder.cs similarity index 100% rename from backend/Musify.Infrastructure/Services/PlayListPresetSeeder.cs rename to backend/Core/Musify.Infrastructure/Services/PlayListPresetSeeder.cs diff --git a/backend/Musify.Infrastructure/Services/ServicesDependencyInjection.cs b/backend/Core/Musify.Infrastructure/Services/ServicesDependencyInjection.cs similarity index 100% rename from backend/Musify.Infrastructure/Services/ServicesDependencyInjection.cs rename to backend/Core/Musify.Infrastructure/Services/ServicesDependencyInjection.cs diff --git a/backend/Musify.Infrastructure/Services/SingleFlightCache.cs b/backend/Core/Musify.Infrastructure/Services/SingleFlightCache.cs similarity index 100% rename from backend/Musify.Infrastructure/Services/SingleFlightCache.cs rename to backend/Core/Musify.Infrastructure/Services/SingleFlightCache.cs diff --git a/backend/Musify.Infrastructure/Services/StorageService.cs b/backend/Core/Musify.Infrastructure/Services/StorageService.cs similarity index 100% rename from backend/Musify.Infrastructure/Services/StorageService.cs rename to backend/Core/Musify.Infrastructure/Services/StorageService.cs diff --git a/backend/Musify.Infrastructure/Services/StreamTicketService.cs b/backend/Core/Musify.Infrastructure/Services/StreamTicketService.cs similarity index 100% rename from backend/Musify.Infrastructure/Services/StreamTicketService.cs rename to backend/Core/Musify.Infrastructure/Services/StreamTicketService.cs diff --git a/backend/Musify.Infrastructure/Services/YouTubeDownloaderService.cs b/backend/Core/Musify.Infrastructure/Services/YouTubeDownloaderService.cs similarity index 100% rename from backend/Musify.Infrastructure/Services/YouTubeDownloaderService.cs rename to backend/Core/Musify.Infrastructure/Services/YouTubeDownloaderService.cs diff --git a/backend/Musify.Infrastructure/Services/YouTubeMusicService.cs b/backend/Core/Musify.Infrastructure/Services/YouTubeMusicService.cs similarity index 100% rename from backend/Musify.Infrastructure/Services/YouTubeMusicService.cs rename to backend/Core/Musify.Infrastructure/Services/YouTubeMusicService.cs diff --git a/backend/Musify.Api/AppSettings.Development.json b/backend/Hosts/Musify.Api/AppSettings.Development.json similarity index 100% rename from backend/Musify.Api/AppSettings.Development.json rename to backend/Hosts/Musify.Api/AppSettings.Development.json diff --git a/backend/Musify.Api/AppSettings.json b/backend/Hosts/Musify.Api/AppSettings.json similarity index 100% rename from backend/Musify.Api/AppSettings.json rename to backend/Hosts/Musify.Api/AppSettings.json diff --git a/backend/Musify.Api/Authentication/AuthenticationConfiguration.cs b/backend/Hosts/Musify.Api/Authentication/AuthenticationConfiguration.cs similarity index 100% rename from backend/Musify.Api/Authentication/AuthenticationConfiguration.cs rename to backend/Hosts/Musify.Api/Authentication/AuthenticationConfiguration.cs diff --git a/backend/Musify.Api/Authentication/AuthenticationExtensions.cs b/backend/Hosts/Musify.Api/Authentication/AuthenticationExtensions.cs similarity index 100% rename from backend/Musify.Api/Authentication/AuthenticationExtensions.cs rename to backend/Hosts/Musify.Api/Authentication/AuthenticationExtensions.cs diff --git a/backend/Musify.Api/Authentication/CurrentUser.cs b/backend/Hosts/Musify.Api/Authentication/CurrentUser.cs similarity index 100% rename from backend/Musify.Api/Authentication/CurrentUser.cs rename to backend/Hosts/Musify.Api/Authentication/CurrentUser.cs diff --git a/backend/Musify.Api/Authentication/JwtBearerEventsHandler.cs b/backend/Hosts/Musify.Api/Authentication/JwtBearerEventsHandler.cs similarity index 100% rename from backend/Musify.Api/Authentication/JwtBearerEventsHandler.cs rename to backend/Hosts/Musify.Api/Authentication/JwtBearerEventsHandler.cs diff --git a/backend/Musify.Api/Authentication/JwtBearerOptionsSetup.cs b/backend/Hosts/Musify.Api/Authentication/JwtBearerOptionsSetup.cs similarity index 100% rename from backend/Musify.Api/Authentication/JwtBearerOptionsSetup.cs rename to backend/Hosts/Musify.Api/Authentication/JwtBearerOptionsSetup.cs diff --git a/backend/Musify.Api/DataTransferObjects/Albums/CreateAlbumRequest.cs b/backend/Hosts/Musify.Api/DataTransferObjects/Albums/CreateAlbumRequest.cs similarity index 100% rename from backend/Musify.Api/DataTransferObjects/Albums/CreateAlbumRequest.cs rename to backend/Hosts/Musify.Api/DataTransferObjects/Albums/CreateAlbumRequest.cs diff --git a/backend/Musify.Api/DataTransferObjects/Albums/UpdateAlbumRequest.cs b/backend/Hosts/Musify.Api/DataTransferObjects/Albums/UpdateAlbumRequest.cs similarity index 100% rename from backend/Musify.Api/DataTransferObjects/Albums/UpdateAlbumRequest.cs rename to backend/Hosts/Musify.Api/DataTransferObjects/Albums/UpdateAlbumRequest.cs diff --git a/backend/Musify.Api/DataTransferObjects/PlayLists/AddYouTubeTrackRequest.cs b/backend/Hosts/Musify.Api/DataTransferObjects/PlayLists/AddYouTubeTrackRequest.cs similarity index 100% rename from backend/Musify.Api/DataTransferObjects/PlayLists/AddYouTubeTrackRequest.cs rename to backend/Hosts/Musify.Api/DataTransferObjects/PlayLists/AddYouTubeTrackRequest.cs diff --git a/backend/Musify.Api/DataTransferObjects/PlayLists/CreatePlayListRequest.cs b/backend/Hosts/Musify.Api/DataTransferObjects/PlayLists/CreatePlayListRequest.cs similarity index 100% rename from backend/Musify.Api/DataTransferObjects/PlayLists/CreatePlayListRequest.cs rename to backend/Hosts/Musify.Api/DataTransferObjects/PlayLists/CreatePlayListRequest.cs diff --git a/backend/Musify.Api/DataTransferObjects/PlayLists/RequestPlayListPictureUploadRequest.cs b/backend/Hosts/Musify.Api/DataTransferObjects/PlayLists/RequestPlayListPictureUploadRequest.cs similarity index 100% rename from backend/Musify.Api/DataTransferObjects/PlayLists/RequestPlayListPictureUploadRequest.cs rename to backend/Hosts/Musify.Api/DataTransferObjects/PlayLists/RequestPlayListPictureUploadRequest.cs diff --git a/backend/Musify.Api/DataTransferObjects/PlayLists/UpdatePlayListRequest.cs b/backend/Hosts/Musify.Api/DataTransferObjects/PlayLists/UpdatePlayListRequest.cs similarity index 100% rename from backend/Musify.Api/DataTransferObjects/PlayLists/UpdatePlayListRequest.cs rename to backend/Hosts/Musify.Api/DataTransferObjects/PlayLists/UpdatePlayListRequest.cs diff --git a/backend/Musify.Api/DataTransferObjects/Tracks/CreateTrackRequest.cs b/backend/Hosts/Musify.Api/DataTransferObjects/Tracks/CreateTrackRequest.cs similarity index 100% rename from backend/Musify.Api/DataTransferObjects/Tracks/CreateTrackRequest.cs rename to backend/Hosts/Musify.Api/DataTransferObjects/Tracks/CreateTrackRequest.cs diff --git a/backend/Musify.Api/DataTransferObjects/Tracks/RequestTrackUploadUrlsRequest.cs b/backend/Hosts/Musify.Api/DataTransferObjects/Tracks/RequestTrackUploadUrlsRequest.cs similarity index 100% rename from backend/Musify.Api/DataTransferObjects/Tracks/RequestTrackUploadUrlsRequest.cs rename to backend/Hosts/Musify.Api/DataTransferObjects/Tracks/RequestTrackUploadUrlsRequest.cs diff --git a/backend/Musify.Api/DataTransferObjects/Users/CreateUserRequest.cs b/backend/Hosts/Musify.Api/DataTransferObjects/Users/CreateUserRequest.cs similarity index 100% rename from backend/Musify.Api/DataTransferObjects/Users/CreateUserRequest.cs rename to backend/Hosts/Musify.Api/DataTransferObjects/Users/CreateUserRequest.cs diff --git a/backend/Musify.Api/Endpoints/AlbumEndpoints.cs b/backend/Hosts/Musify.Api/Endpoints/AlbumEndpoints.cs similarity index 100% rename from backend/Musify.Api/Endpoints/AlbumEndpoints.cs rename to backend/Hosts/Musify.Api/Endpoints/AlbumEndpoints.cs diff --git a/backend/Musify.Api/Endpoints/MixEndpoints.cs b/backend/Hosts/Musify.Api/Endpoints/MixEndpoints.cs similarity index 100% rename from backend/Musify.Api/Endpoints/MixEndpoints.cs rename to backend/Hosts/Musify.Api/Endpoints/MixEndpoints.cs diff --git a/backend/Musify.Api/Endpoints/PlayListEndpoints.cs b/backend/Hosts/Musify.Api/Endpoints/PlayListEndpoints.cs similarity index 100% rename from backend/Musify.Api/Endpoints/PlayListEndpoints.cs rename to backend/Hosts/Musify.Api/Endpoints/PlayListEndpoints.cs diff --git a/backend/Musify.Api/Endpoints/TrackEndpoints.cs b/backend/Hosts/Musify.Api/Endpoints/TrackEndpoints.cs similarity index 100% rename from backend/Musify.Api/Endpoints/TrackEndpoints.cs rename to backend/Hosts/Musify.Api/Endpoints/TrackEndpoints.cs diff --git a/backend/Musify.Api/Endpoints/UserEndpoints.cs b/backend/Hosts/Musify.Api/Endpoints/UserEndpoints.cs similarity index 100% rename from backend/Musify.Api/Endpoints/UserEndpoints.cs rename to backend/Hosts/Musify.Api/Endpoints/UserEndpoints.cs diff --git a/backend/Musify.Api/Endpoints/YouTubeEndpoints.cs b/backend/Hosts/Musify.Api/Endpoints/YouTubeEndpoints.cs similarity index 100% rename from backend/Musify.Api/Endpoints/YouTubeEndpoints.cs rename to backend/Hosts/Musify.Api/Endpoints/YouTubeEndpoints.cs diff --git a/backend/Musify.Api/Extensions/ErrorOrHttpExtensions.cs b/backend/Hosts/Musify.Api/Extensions/ErrorOrHttpExtensions.cs similarity index 100% rename from backend/Musify.Api/Extensions/ErrorOrHttpExtensions.cs rename to backend/Hosts/Musify.Api/Extensions/ErrorOrHttpExtensions.cs diff --git a/backend/Musify.Api/Extensions/ServiceCollectionExtensions.cs b/backend/Hosts/Musify.Api/Extensions/ServiceCollectionExtensions.cs similarity index 100% rename from backend/Musify.Api/Extensions/ServiceCollectionExtensions.cs rename to backend/Hosts/Musify.Api/Extensions/ServiceCollectionExtensions.cs diff --git a/backend/Musify.Api/Filters/ValidationFilter.cs b/backend/Hosts/Musify.Api/Filters/ValidationFilter.cs similarity index 100% rename from backend/Musify.Api/Filters/ValidationFilter.cs rename to backend/Hosts/Musify.Api/Filters/ValidationFilter.cs diff --git a/backend/Musify.Api/Musify.Api.csproj b/backend/Hosts/Musify.Api/Musify.Api.csproj similarity index 86% rename from backend/Musify.Api/Musify.Api.csproj rename to backend/Hosts/Musify.Api/Musify.Api.csproj index f9cb76c..6493230 100644 --- a/backend/Musify.Api/Musify.Api.csproj +++ b/backend/Hosts/Musify.Api/Musify.Api.csproj @@ -31,9 +31,9 @@ - - - + + + diff --git a/backend/Musify.Api/OpenApi/OpenApiExtensions.cs b/backend/Hosts/Musify.Api/OpenApi/OpenApiExtensions.cs similarity index 100% rename from backend/Musify.Api/OpenApi/OpenApiExtensions.cs rename to backend/Hosts/Musify.Api/OpenApi/OpenApiExtensions.cs diff --git a/backend/Musify.Api/OpenApi/OpenApiOptionsSetup.cs b/backend/Hosts/Musify.Api/OpenApi/OpenApiOptionsSetup.cs similarity index 100% rename from backend/Musify.Api/OpenApi/OpenApiOptionsSetup.cs rename to backend/Hosts/Musify.Api/OpenApi/OpenApiOptionsSetup.cs diff --git a/backend/Musify.Api/Program.cs b/backend/Hosts/Musify.Api/Program.cs similarity index 100% rename from backend/Musify.Api/Program.cs rename to backend/Hosts/Musify.Api/Program.cs diff --git a/backend/Musify.Api/Properties/launchSettings.json b/backend/Hosts/Musify.Api/Properties/launchSettings.json similarity index 100% rename from backend/Musify.Api/Properties/launchSettings.json rename to backend/Hosts/Musify.Api/Properties/launchSettings.json diff --git a/backend/Musify.Api/Scalar/ScalarExtensions.cs b/backend/Hosts/Musify.Api/Scalar/ScalarExtensions.cs similarity index 100% rename from backend/Musify.Api/Scalar/ScalarExtensions.cs rename to backend/Hosts/Musify.Api/Scalar/ScalarExtensions.cs diff --git a/backend/Musify.Api/Scalar/ScalarOptionsSetup.cs b/backend/Hosts/Musify.Api/Scalar/ScalarOptionsSetup.cs similarity index 100% rename from backend/Musify.Api/Scalar/ScalarOptionsSetup.cs rename to backend/Hosts/Musify.Api/Scalar/ScalarOptionsSetup.cs diff --git a/backend/Musify.Api/Validators/Albums/AlbumReleaseYear.cs b/backend/Hosts/Musify.Api/Validators/Albums/AlbumReleaseYear.cs similarity index 100% rename from backend/Musify.Api/Validators/Albums/AlbumReleaseYear.cs rename to backend/Hosts/Musify.Api/Validators/Albums/AlbumReleaseYear.cs diff --git a/backend/Musify.Api/Validators/Albums/CreateAlbumRequestValidator.cs b/backend/Hosts/Musify.Api/Validators/Albums/CreateAlbumRequestValidator.cs similarity index 100% rename from backend/Musify.Api/Validators/Albums/CreateAlbumRequestValidator.cs rename to backend/Hosts/Musify.Api/Validators/Albums/CreateAlbumRequestValidator.cs diff --git a/backend/Musify.Api/Validators/Albums/UpdateAlbumRequestValidator.cs b/backend/Hosts/Musify.Api/Validators/Albums/UpdateAlbumRequestValidator.cs similarity index 100% rename from backend/Musify.Api/Validators/Albums/UpdateAlbumRequestValidator.cs rename to backend/Hosts/Musify.Api/Validators/Albums/UpdateAlbumRequestValidator.cs diff --git a/backend/Musify.Api/Validators/PlayLists/AddYouTubeTrackRequestValidator.cs b/backend/Hosts/Musify.Api/Validators/PlayLists/AddYouTubeTrackRequestValidator.cs similarity index 100% rename from backend/Musify.Api/Validators/PlayLists/AddYouTubeTrackRequestValidator.cs rename to backend/Hosts/Musify.Api/Validators/PlayLists/AddYouTubeTrackRequestValidator.cs diff --git a/backend/Musify.Api/Validators/PlayLists/CreatePlayListRequestValidator.cs b/backend/Hosts/Musify.Api/Validators/PlayLists/CreatePlayListRequestValidator.cs similarity index 100% rename from backend/Musify.Api/Validators/PlayLists/CreatePlayListRequestValidator.cs rename to backend/Hosts/Musify.Api/Validators/PlayLists/CreatePlayListRequestValidator.cs diff --git a/backend/Musify.Api/Validators/PlayLists/RequestPlayListPictureUploadRequestValidator.cs b/backend/Hosts/Musify.Api/Validators/PlayLists/RequestPlayListPictureUploadRequestValidator.cs similarity index 100% rename from backend/Musify.Api/Validators/PlayLists/RequestPlayListPictureUploadRequestValidator.cs rename to backend/Hosts/Musify.Api/Validators/PlayLists/RequestPlayListPictureUploadRequestValidator.cs diff --git a/backend/Musify.Api/Validators/PlayLists/UpdatePlayListRequestValidator.cs b/backend/Hosts/Musify.Api/Validators/PlayLists/UpdatePlayListRequestValidator.cs similarity index 100% rename from backend/Musify.Api/Validators/PlayLists/UpdatePlayListRequestValidator.cs rename to backend/Hosts/Musify.Api/Validators/PlayLists/UpdatePlayListRequestValidator.cs diff --git a/backend/Musify.Api/Validators/Tracks/CreateTrackRequestValidator.cs b/backend/Hosts/Musify.Api/Validators/Tracks/CreateTrackRequestValidator.cs similarity index 100% rename from backend/Musify.Api/Validators/Tracks/CreateTrackRequestValidator.cs rename to backend/Hosts/Musify.Api/Validators/Tracks/CreateTrackRequestValidator.cs diff --git a/backend/Musify.Api/Validators/Tracks/RequestTrackUploadUrlsRequestValidator.cs b/backend/Hosts/Musify.Api/Validators/Tracks/RequestTrackUploadUrlsRequestValidator.cs similarity index 100% rename from backend/Musify.Api/Validators/Tracks/RequestTrackUploadUrlsRequestValidator.cs rename to backend/Hosts/Musify.Api/Validators/Tracks/RequestTrackUploadUrlsRequestValidator.cs diff --git a/backend/Musify.Api/Validators/Users/CreateUserRequestValidator.cs b/backend/Hosts/Musify.Api/Validators/Users/CreateUserRequestValidator.cs similarity index 100% rename from backend/Musify.Api/Validators/Users/CreateUserRequestValidator.cs rename to backend/Hosts/Musify.Api/Validators/Users/CreateUserRequestValidator.cs diff --git a/backend/Musify.Api/WebApi.http b/backend/Hosts/Musify.Api/WebApi.http similarity index 100% rename from backend/Musify.Api/WebApi.http rename to backend/Hosts/Musify.Api/WebApi.http diff --git a/backend/Musify.StreamingGateway/Authentication/TicketValidator.cs b/backend/Hosts/Musify.StreamingGateway/Authentication/TicketValidator.cs similarity index 100% rename from backend/Musify.StreamingGateway/Authentication/TicketValidator.cs rename to backend/Hosts/Musify.StreamingGateway/Authentication/TicketValidator.cs diff --git a/backend/Musify.StreamingGateway/Configuration/StreamTicketValidationOptions.cs b/backend/Hosts/Musify.StreamingGateway/Configuration/StreamTicketValidationOptions.cs similarity index 100% rename from backend/Musify.StreamingGateway/Configuration/StreamTicketValidationOptions.cs rename to backend/Hosts/Musify.StreamingGateway/Configuration/StreamTicketValidationOptions.cs diff --git a/backend/Musify.StreamingGateway/Middleware/TicketValidationMiddleware.cs b/backend/Hosts/Musify.StreamingGateway/Middleware/TicketValidationMiddleware.cs similarity index 100% rename from backend/Musify.StreamingGateway/Middleware/TicketValidationMiddleware.cs rename to backend/Hosts/Musify.StreamingGateway/Middleware/TicketValidationMiddleware.cs diff --git a/backend/Musify.StreamingGateway/Musify.StreamingGateway.csproj b/backend/Hosts/Musify.StreamingGateway/Musify.StreamingGateway.csproj similarity index 100% rename from backend/Musify.StreamingGateway/Musify.StreamingGateway.csproj rename to backend/Hosts/Musify.StreamingGateway/Musify.StreamingGateway.csproj diff --git a/backend/Musify.StreamingGateway/Program.cs b/backend/Hosts/Musify.StreamingGateway/Program.cs similarity index 100% rename from backend/Musify.StreamingGateway/Program.cs rename to backend/Hosts/Musify.StreamingGateway/Program.cs diff --git a/backend/Musify.StreamingGateway/Properties/launchSettings.json b/backend/Hosts/Musify.StreamingGateway/Properties/launchSettings.json similarity index 100% rename from backend/Musify.StreamingGateway/Properties/launchSettings.json rename to backend/Hosts/Musify.StreamingGateway/Properties/launchSettings.json diff --git a/backend/Musify.StreamingGateway/appsettings.Development.json b/backend/Hosts/Musify.StreamingGateway/appsettings.Development.json similarity index 100% rename from backend/Musify.StreamingGateway/appsettings.Development.json rename to backend/Hosts/Musify.StreamingGateway/appsettings.Development.json diff --git a/backend/Musify.StreamingGateway/appsettings.json b/backend/Hosts/Musify.StreamingGateway/appsettings.json similarity index 100% rename from backend/Musify.StreamingGateway/appsettings.json rename to backend/Hosts/Musify.StreamingGateway/appsettings.json diff --git a/backend/Musify.Worker/AppSettings.Development.json b/backend/Hosts/Musify.Worker/AppSettings.Development.json similarity index 100% rename from backend/Musify.Worker/AppSettings.Development.json rename to backend/Hosts/Musify.Worker/AppSettings.Development.json diff --git a/backend/Musify.Worker/AppSettings.json b/backend/Hosts/Musify.Worker/AppSettings.json similarity index 100% rename from backend/Musify.Worker/AppSettings.json rename to backend/Hosts/Musify.Worker/AppSettings.json diff --git a/backend/Musify.Worker/Musify.Worker.csproj b/backend/Hosts/Musify.Worker/Musify.Worker.csproj similarity index 76% rename from backend/Musify.Worker/Musify.Worker.csproj rename to backend/Hosts/Musify.Worker/Musify.Worker.csproj index 7f0f4b4..04e296f 100644 --- a/backend/Musify.Worker/Musify.Worker.csproj +++ b/backend/Hosts/Musify.Worker/Musify.Worker.csproj @@ -18,9 +18,9 @@ - - - + + + diff --git a/backend/Musify.Worker/Program.cs b/backend/Hosts/Musify.Worker/Program.cs similarity index 100% rename from backend/Musify.Worker/Program.cs rename to backend/Hosts/Musify.Worker/Program.cs diff --git a/backend/Musify.Worker/Properties/launchSettings.json b/backend/Hosts/Musify.Worker/Properties/launchSettings.json similarity index 100% rename from backend/Musify.Worker/Properties/launchSettings.json rename to backend/Hosts/Musify.Worker/Properties/launchSettings.json diff --git a/backend/Musify.Api.Dockerfile b/backend/Musify.Api.Dockerfile index 1afac7f..1ffa032 100644 --- a/backend/Musify.Api.Dockerfile +++ b/backend/Musify.Api.Dockerfile @@ -1,17 +1,17 @@ -# Build context: backend/ (docker compose -f deploy/docker-compose.apps.yml build) +# Build context: backend/ (docker compose -f deploy/compose.yml --profile apps build) FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build WORKDIR /src # Restore: copy central config + csproj files first to cache the layer. COPY Directory.Build.props Directory.Packages.props nuget.config ./ -COPY Musify.Domain/Musify.Domain.csproj Musify.Domain/ -COPY Musify.Application/Musify.Application.csproj Musify.Application/ -COPY Musify.Infrastructure/Musify.Infrastructure.csproj Musify.Infrastructure/ -COPY Musify.Api/Musify.Api.csproj Musify.Api/ -RUN dotnet restore Musify.Api/Musify.Api.csproj +COPY Core/Musify.Domain/Musify.Domain.csproj Core/Musify.Domain/ +COPY Core/Musify.Application/Musify.Application.csproj Core/Musify.Application/ +COPY Core/Musify.Infrastructure/Musify.Infrastructure.csproj Core/Musify.Infrastructure/ +COPY Hosts/Musify.Api/Musify.Api.csproj Hosts/Musify.Api/ +RUN dotnet restore Hosts/Musify.Api/Musify.Api.csproj COPY . . -RUN dotnet publish Musify.Api/Musify.Api.csproj -c Release -o /app --no-restore +RUN dotnet publish Hosts/Musify.Api/Musify.Api.csproj -c Release -o /app --no-restore # Config files are AppSettings*.json (PascalCase); on case-sensitive Linux the host # looks for appsettings*.json. Add lowercase copies so they get loaded. RUN cp /app/AppSettings.json /app/appsettings.json \ diff --git a/backend/Musify.StreamingGateway.Dockerfile b/backend/Musify.StreamingGateway.Dockerfile index 1e20496..5a48d51 100644 --- a/backend/Musify.StreamingGateway.Dockerfile +++ b/backend/Musify.StreamingGateway.Dockerfile @@ -3,11 +3,11 @@ FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build WORKDIR /src COPY Directory.Build.props Directory.Packages.props nuget.config ./ -COPY Musify.StreamingGateway/Musify.StreamingGateway.csproj Musify.StreamingGateway/ -RUN dotnet restore Musify.StreamingGateway/Musify.StreamingGateway.csproj +COPY Hosts/Musify.StreamingGateway/Musify.StreamingGateway.csproj Hosts/Musify.StreamingGateway/ +RUN dotnet restore Hosts/Musify.StreamingGateway/Musify.StreamingGateway.csproj COPY . . -RUN dotnet publish Musify.StreamingGateway/Musify.StreamingGateway.csproj -c Release -o /app --no-restore +RUN dotnet publish Hosts/Musify.StreamingGateway/Musify.StreamingGateway.csproj -c Release -o /app --no-restore FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime WORKDIR /app diff --git a/backend/Musify.Worker.Dockerfile b/backend/Musify.Worker.Dockerfile index 15ab9fc..5b91060 100644 --- a/backend/Musify.Worker.Dockerfile +++ b/backend/Musify.Worker.Dockerfile @@ -3,14 +3,14 @@ FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build WORKDIR /src COPY Directory.Build.props Directory.Packages.props nuget.config ./ -COPY Musify.Domain/Musify.Domain.csproj Musify.Domain/ -COPY Musify.Application/Musify.Application.csproj Musify.Application/ -COPY Musify.Infrastructure/Musify.Infrastructure.csproj Musify.Infrastructure/ -COPY Musify.Worker/Musify.Worker.csproj Musify.Worker/ -RUN dotnet restore Musify.Worker/Musify.Worker.csproj +COPY Core/Musify.Domain/Musify.Domain.csproj Core/Musify.Domain/ +COPY Core/Musify.Application/Musify.Application.csproj Core/Musify.Application/ +COPY Core/Musify.Infrastructure/Musify.Infrastructure.csproj Core/Musify.Infrastructure/ +COPY Hosts/Musify.Worker/Musify.Worker.csproj Hosts/Musify.Worker/ +RUN dotnet restore Hosts/Musify.Worker/Musify.Worker.csproj COPY . . -RUN dotnet publish Musify.Worker/Musify.Worker.csproj -c Release -o /app --no-restore +RUN dotnet publish Hosts/Musify.Worker/Musify.Worker.csproj -c Release -o /app --no-restore # AppSettings*.json (PascalCase) -> lowercase copies for case-sensitive Linux. RUN cp /app/AppSettings.json /app/appsettings.json \ && cp /app/AppSettings.Development.json /app/appsettings.Development.json diff --git a/backend/Musify.slnx b/backend/Musify.slnx index bb79146..8bdfa9a 100644 --- a/backend/Musify.slnx +++ b/backend/Musify.slnx @@ -1,12 +1,12 @@ - - - + + + - - - + + + diff --git a/deploy/README.md b/deploy/README.md index e0b92af..a809ef5 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -55,9 +55,9 @@ data), `-Destroy` (stop and wipe the volumes). ### Running the apps from the IDE ```powershell -dotnet run --project backend/Musify.Api # :5111 -dotnet run --project backend/Musify.StreamingGateway # :8081 -dotnet run --project backend/Musify.Worker # background +dotnet run --project backend/Hosts/Musify.Api # :5111 +dotnet run --project backend/Hosts/Musify.StreamingGateway # :8081 +dotnet run --project backend/Hosts/Musify.Worker # background npm --prefix web-player run dev # :5173 ``` diff --git a/deploy/scripts/migrate.ps1 b/deploy/scripts/migrate.ps1 index 5b6449e..e4cef16 100644 --- a/deploy/scripts/migrate.ps1 +++ b/deploy/scripts/migrate.ps1 @@ -4,7 +4,7 @@ param([Parameter(Mandatory)][string]$ConnectionString) $ErrorActionPreference = "Stop" -$infraProject = Resolve-Path (Join-Path $PSScriptRoot "..\..\backend\Musify.Infrastructure") +$infraProject = Resolve-Path (Join-Path $PSScriptRoot "..\..\backend\Core\Musify.Infrastructure") # The design-time factory reads the connection string from user-secrets. dotnet user-secrets set "Database:ConnectionString" $ConnectionString --project $infraProject | Out-Null diff --git a/deploy/scripts/migrate.sh b/deploy/scripts/migrate.sh index 0945d49..b0378b7 100644 --- a/deploy/scripts/migrate.sh +++ b/deploy/scripts/migrate.sh @@ -18,7 +18,7 @@ CONN="Host=postgres;Port=5432;Database=$(env_get "$ENV_FILE" POSTGRES_DB);Userna docker run --rm \ --network "$NETWORK" \ -v "$BACKEND_DIR":/src \ - -w /src/Musify.Infrastructure \ + -w /src/Core/Musify.Infrastructure \ -e CONN="$CONN" \ mcr.microsoft.com/dotnet/sdk:10.0 \ sh -c 'dotnet tool install --global dotnet-ef >/dev/null 2>&1 || true diff --git a/deploy/up.ps1 b/deploy/up.ps1 index ad0c2be..90c85b4 100644 --- a/deploy/up.ps1 +++ b/deploy/up.ps1 @@ -112,9 +112,9 @@ $appLines = if ($Apps) { } else { @" Run the apps from the IDE (or ./up.ps1 -Apps to run them in Docker): - dotnet run --project backend/Musify.Api # :5111 - dotnet run --project backend/Musify.StreamingGateway # :8081 - dotnet run --project backend/Musify.Worker # background + dotnet run --project backend/Hosts/Musify.Api # :5111 + dotnet run --project backend/Hosts/Musify.StreamingGateway # :8081 + dotnet run --project backend/Hosts/Musify.Worker # background npm --prefix web-player run dev # :5173 "@ } diff --git a/deploy/zitadel/provision.ps1 b/deploy/zitadel/provision.ps1 index b9855b6..42dc38a 100644 --- a/deploy/zitadel/provision.ps1 +++ b/deploy/zitadel/provision.ps1 @@ -28,7 +28,7 @@ param( $ErrorActionPreference = "Stop" $deployDir = Split-Path $PSScriptRoot -Parent $repoDir = Split-Path $deployDir -Parent -$apiProject = Join-Path $repoDir "backend\Musify.Api" +$apiProject = Join-Path $repoDir "backend\Hosts\Musify.Api" $webEnvFile = Join-Path $repoDir "web-player\.env" $envFile = if ($EnvFile) { $EnvFile } else { Join-Path $deployDir ".env" } $patFile = Join-Path $PSScriptRoot "$OutputDir\admin-sa.pat" diff --git a/docs/development.md b/docs/development.md index 749277e..2aae9a2 100644 --- a/docs/development.md +++ b/docs/development.md @@ -20,9 +20,9 @@ Otros modificadores: `-Tools` (pgAdmin), `-SkipMigrations`, `-Down`, `-Destroy`. ## Aplicaciones ```powershell -dotnet run --project backend/Musify.Api # :5111 -dotnet run --project backend/Musify.StreamingGateway # :8081 -dotnet run --project backend/Musify.Worker # background +dotnet run --project backend/Hosts/Musify.Api # :5111 +dotnet run --project backend/Hosts/Musify.StreamingGateway # :8081 +dotnet run --project backend/Hosts/Musify.Worker # background npm --prefix web-player run dev # :5173 ``` @@ -50,7 +50,7 @@ No hay migración automática al arrancar; `up.ps1` las aplica en el bootstrap. A mano, tras cambios de esquema: ```powershell -dotnet ef database update --project backend/Musify.Infrastructure --startup-project backend/Musify.Infrastructure --context Database +dotnet ef database update --project backend/Core/Musify.Infrastructure --startup-project backend/Core/Musify.Infrastructure --context Database ``` `Musify.Infrastructure` es a la vez el proyecto de migraciones y el de arranque: