SpotifyClonev2 is a cross-platform music player application built entirely with the .NET ecosystem.
It features a native mobile client developed with .NET MAUI and is powered by a robust backend API built with ASP.NET Core.
This project is a demonstration of building a full-stack, client-server application using the latest Microsoft technologies.
It provides a functional and visually appealing music streaming app where users can:
- Browse their music library
- Play and control songs
- Manage playlists
All from an Android device.
- Cross-Platform Client: Built with .NET MAUI (Android-ready, extendable to iOS, Windows, macOS).
- Dynamic Music Library: Browse/search songs and artists from the backend.
- Full-Featured Player:
- Play / Pause / Next / Previous
- Shuffle & Repeat modes
- Seekable progress bar
- Interactive Song List: Like songs, add to queue, manage from the home screen.
- Backend-Powered: Metadata + audio streaming served via ASP.NET Core API.
- Bottom Navigation: Easy navigation between Home, Library, Upload.
- Framework: .NET MAUI
- Language: C#
- UI Markup: XAML
- Pattern: MVVM (Model-View-ViewModel)
- Libraries:
CommunityToolkit.Mvvm– MVVM helpers.NET MAUI MediaElement– native audio playback
- Framework: ASP.NET Core Web API
- Language: C#
- Database: Entity Framework Core (with SQL Server/SQLite/etc.)
- API Docs: Swagger (Swashbuckle)
Follow these steps to run the project locally.
- .NET SDK (7 or 8 recommended)
- Visual Studio 2022 with:
- .NET MAUI workload
- ASP.NET & Web Development workload
- Android Emulator or physical Android device
- A database server (e.g., SQL Server Express)
Clone the repository:
git clone https://github.com/hosseinghDev/SpotifyClonev2.git
cd SpotifyClonev2Configure the database:
- Open the SpotifyClone.Api project
- In appsettings.Development.json, update the ConnectionStrings section with your database credentials
Apply database migrations:
cd SpotifyClone.Api
dotnet ef database updateRun the backend server:
dotnet run --project SpotifyClone.ApiOpen the solution:
- Open the solution file SpotifyClone.sln in Visual Studio
Configure the API endpoint:
- Locate the file in SpotifyClone.Maui where the API base URL is defined
- Update it to point to your backend server
Run the application:
- Set SpotifyClone.Maui as the startup project
- Select your target (Android Emulator or physical device)
- Press F5 to build and deploy
Contributions make the open-source community amazing! 🎉 If you'd like to contribute:
1- Fork the project 2- Create your feature branch 3- Commit your changes 4- Push to the branch 5- Open a Pull Request
Give a ⭐️ if this project helped you!