Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fallendeity/rhythm
An online music streaming modern windows application made using WinUI3.
https://github.com/fallendeity/rhythm
csharp oracle-database supabase-storage windows-app winui3
Last synced: 3 months ago
JSON representation
An online music streaming modern windows application made using WinUI3.
- Host: GitHub
- URL: https://github.com/fallendeity/rhythm
- Owner: FallenDeity
- License: mit
- Created: 2024-02-11T20:11:30.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-25T16:32:22.000Z (10 months ago)
- Last Synced: 2024-11-21T00:59:46.360Z (3 months ago)
- Topics: csharp, oracle-database, supabase-storage, windows-app, winui3
- Language: C#
- Homepage:
- Size: 32.8 MB
- Stars: 1
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
RHYTHM
A simple music player app for Windows 10 and above using WinUI3
# Features
- [x] Built using WinUI3, sports modern fluent design.
- [x] Windows OS responsive theme and accent color support.
- [x] Play, Pause, Next, Previous, Shuffle, Repeat, Seek, Volume controls.
- [x] Realtime music streaming
- [x] Customized recommendations based on user's listening history.
- [x] User authentication and profile management.
- [x] User can create and manage playlists.
- [x] User can like, follow and save albums, artists and songs.# Screenshots
| Main Page | Themes |
| --- | --- |
|  |  |
| Playlist Page | Search Page |
|  |  |
| Album Page | Artist Page |
|  |  |# Demo
Base WinUi App Setup.
https://github.com/FallenDeity/Rhythm/assets/61227305/a4398082-a7ed-4832-a26d-325bc9a6672c

## Setup Repository
You need to add a secret to your github repository to get the workflow actions up and working. Follow the given steps to do so:
- Right click on your solution folder and click `Package and Publish` > `Create App Packages...`

- For now during development we will use `sideloading` to distribute artifacts from builds and releases.

> [!NOTE]
> `SideLoading` here enables us to install the app on our local machine without the need of a store. This is useful for development and testing purposes.- Click `Create` and then `Yes, select a certificate` and then `Create` again. A pop-up will appear asking for a password. Leave it empty and click `OK`.

- Once the process is complete, It will show the following screen and a file named `_TemporaryKey.pfx` will be created in your solution folder. Once you have the file, you can close the window by canceling the process.

- Now, you need to get a `Base64` encoded string of the certificate file. You can use the following command in windows powershell to get the `Base64` encoded string of the certificate file.
```powershell
$cert = Get-Content -Path "_TemporaryKey.pfx" -Encoding Byte
[System.Convert]::ToBase64String($cert) | Out-File -FilePath "_TemporaryKey.txt"
```
> [!NOTE]
> Replace `` with your project name. The above command will create a file named `_TemporaryKey.txt` in your solution folder.- Now that you have the `Base64` encoded string of the certificate file, you need to add it as a secret to your github repository. Follow the given steps to do so:
- Go to your repository on github and click on `Settings` > `Secrets` > `New repository secret`.
- Add a secret with the name `BASE64_ENCODED_PFX` and paste the `Base64` encoded string of the certificate file in the value field.
- Click `Add secret` to save the secret.
- Now, the secret is added to your repository and the workflow actions will be able to use it.
Once you have completed all the above steps, you can now delete the certificate file and the `Base64` encoded string of the certificate file from your solution folder. Do not commit the certificate file or the `Base64` encoded string of the certificate file to your repository.
## Installation Instructions
On a successful build, the artifacts will be available in the workflow actions. You can download the artifacts and install the app on your local machine using the following steps:
Go to your repository on github and click on `Actions` > `Latest workflow run`.

Install the artifact based on your architecture. For example, if you are using a `x64` machine, you can install the `x64` artifact. Click on the artifact to download it.
Once the artifact is downloaded, extract the contents of the zip file.

Right click on the `Add-AppDevPackage.ps1` file and click `Run with PowerShell`. Grant the necessary permissions and the app will be installed on your local machine.

> [!NOTE]
> This process may require you to enable `Developer Mode` on your machine. You can enable `Developer Mode` by going to `Settings` > `Update & Security` > `For developers` and then selecting `Developer mode`.## Environment Setup
You need a working oracle database to run the application. Replace `ORACLE_CONNECTION_STRING` in `DatabaseService.cs` with your connection string. Replace `SUPABASE_KEY` and `SUPAEBASE_URL` in `StorageService.cs` with your supabase key and url respectively.