DEV Community

Rafael Arantes
Rafael Arantes

Posted on

RockPlayer: Building a Modern Music Player with Angular, ASP.NET Core, Redis, and YouTube

Hello everyone!

After publishing my Machine Learning with ML.NET series, I decided to turn the recommendation model into a complete application.

In this new series, we build RockPlayer, a rock music player that combines modern software architecture, ASP.NET Core, Angular 22, Redis, and YouTube integration.
Each article focuses on a different part of the project:

🎵 1. Introducing RockPlayer
An overview of the project, its goals, and the overall architecture.
https://devfullstack.net/blog/introducing-rockplayer

🔌 2. Adapters: Isolating the YouTube Provider
Using the Adapter pattern to decouple the application from the YouTube integration.
https://devfullstack.net/blog/adapters-isolating-the-youtube-provider

⚡ 3. No Database: Caching Lookups with Redis
Using Redis to cache search results instead of storing external data in a database.
https://devfullstack.net/blog/no-database-caching-lookups-with-redis

🅰️ 4. Angular 22 in Practice
Applying modern Angular 22 features to build the user interface.
https://devfullstack.net/blog/angular-22-in-practice

🚀 5. Building the RockPlayer API
Building the API that orchestrates the application.
https://devfullstack.net/blog/building-the-rockplayer-api

▶️ 6. The YouTube Adapter: Finding and Playing the Song
Implementing the YouTube integration to search for and play songs.
https://devfullstack.net/blog/the-youtube-adapter-finding-and-playing-the-song

🎧 7. RockPlayer in Angular 22: Onboarding
Setting up the Angular application and organizing the project structure.
https://devfullstack.net/blog/rockplayer-in-angular-22-onboarding

🎸 8. RockPlayer: Putting It All Together
Bringing all the components together into a complete application.
https://devfullstack.net/blog/rockplayer-putting-it-all-together

I hope this series is useful for developers interested in software architecture, .NET, and Angular.

See you there!

Top comments (0)