Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dmouayad/dune
A cross-platform app provides seamless music streaming from YouTube, YouTube Music, Spotify and local files.
https://github.com/dmouayad/dune
cross-platform flutter flutter-windows listening-stats music music-player music-streaming offline-music offline-music-player spotify windows-app youtube
Last synced: 2 months ago
JSON representation
A cross-platform app provides seamless music streaming from YouTube, YouTube Music, Spotify and local files.
- Host: GitHub
- URL: https://github.com/dmouayad/dune
- Owner: DMouayad
- License: agpl-3.0
- Created: 2023-05-22T12:53:57.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-09-26T17:00:35.000Z (over 1 year ago)
- Last Synced: 2023-09-27T06:59:00.190Z (over 1 year ago)
- Topics: cross-platform, flutter, flutter-windows, listening-stats, music, music-player, music-streaming, offline-music, offline-music-player, spotify, windows-app, youtube
- Language: Dart
- Homepage:
- Size: 1.78 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
DUNE
Dune makes it easy to have your favourite songs in one place just choose your playlist ➡ 🎧 ➡ enjoy seamless music streaming.
Table of contents
* [Features](#features)
* [Explore Music](#explore-music)
* [Local music library](#local-music-library)
* [Tabs support](#tabs-support)
* [Listening Statistics](#listening-statistics)
* [Other Features](#other-features)
* [Screenshots](#screenshots)
* [Download](#download)
* [Roadmap](#roadmap)
* [How it works](#how-it-works)
* [Storage](#storage)
* [Build from source](#build-from-source)
* [Feed back & Contributions](#feed-back--contributions)
* [Disclaimer](#disclaimer)
* [Motivation](#motivation)
* [Acknowledgement](#acknowledgement)
* [Packages & Plugins](#packages--plugins)
* [Inspiration](#inspiration)
* [License](#license)## Features
### Explore Music
- Get up-to-date popular & trending music from all over the world.
- Explore music by genre & mood.### Local music library
- Add your local audio files with one click and all of your tracks, albums, artists will be saved and available inside
the app.### Tabs support
**Yes, you've read it correctly**, with the option of both vertical & horizontal tabs-layout:
Now your web-browsing experience is less cluttered because DUNE is the prefect place for your
music-exploring adventures.### Listening Statistics
> Not 100% functional; going under some refinements.
### Other Features
- **Mixed playlists**: creating a playlist with songs from different sources.
- **Data Usage control**: You can set the quality of audio streaming & cover images.
- **No-Tabs mode**: Tabs can be disabled but, you still have all the other great features.
- **Themes**: Provides a wide verity of accent colors for you to choose from.
- **Cross-platform support**
- **Lyrics support**
- **Download media & offline mode**
- **Local library Mode**## Screenshots
![](/readme_assets/explore.png)
![](/readme_assets/library-albums.png)
![](/readme_assets/search.png)
## Download
> Older versions are also available at: [GitHub releases](https://github.com/DMouayad/DUNE/releases)
OS
Latest version
Get it on GitHub
Get it on GitHub
## Roadmap
> This project is a WIP
Please refer to [DUNE project](https://github.com/users/DMouayad/projects/2) for:
planned features, discussions and development progress.## How it works
### Storage
- [Isar](https://github.com/isar/isar)
| Feature | Offline store | Backup & Restore | Cloud store | Storing User Playlists | Storing User Preferences | Storing User Listening History |
|:---------:|:-------------:|:-----------------------:|:-----------:|:----------------------:|:------------------------:|:------------------------------:|
| Supported | ✔ | 🚧 | ❌ | 🚧 | ✔ | ✔ |## Build from source
To build your own version of DUNE, please follow these [instructions](CONTRIBUTING.md#running-locally-guide).
## Feed back & Contributions
- 🐛 Found an issue or encountered a bug? please check the existing [issues](https://github.com/DMouayad/DUNE/issues) or
create a new one.
- 💪🏻 Want to improve this project? check out the [Contributing](CONTRIBUTING.md) guide.
- ⭐ You can also help us by starring this repo.
- Read also ["motivation for this project"](#motivation).## Disclaimer
- Initially, this app was developed to demonstrate the power of **Flutter** in creating cross-platform apps.
> But, if you like using DUNE, well, thank you. Enjoy the music responsibly and support the artists who create it.
- Read also Copy Rights © [disclaimer](DISCLAIMER.md).
## Motivation
Although there are many projects that offer similar features, they often fall short
in providing a complete package 📦.
For example, some apps can stream music from different platforms, but they do not 🚫 allow users to:- Create a playlist with songs from different sources.
- Provide the option to add your local music library.
- Change the search engine(source) without adjusting some setting.Another important issue in some of these projects is the quality of code. While it may not be an immediate
concern for users, it becomes a time-consuming and challenging task for maintainers to add new features
in the long run. This can be for several reasons:- The lack of a clear architecture on how code is organized and communicate across different layers.
- Having mega classes and functions scattered all over the place discarding the SOLID principals.
- The absence of tests, no Unit tests no Widget tests, nothing.That is *why* I started this project with the goal of creating something beautiful & elegant from the inside-out.
## Acknowledgement
### Packages & Plugins
- [taggy:](https://github.com/DMouayad/) provides reading & writing audio files metadata.
- [Isar:](https://github.com/isar/isar) NoSQL database for Flutter.
- [youtube_explode_dart:](https://pub.dev/packages/youtube_explode_dart) provides an interface for using YouTube APIs.
- [file_picker:](https://pub.dev/packages/file_picker) cross-platform solution for selecting files\folders from local
storage.
- [fluent_ui:](https://github.com/bdlukaa/fluent_ui/)
- [audio_video_progress_bar](https://github.com/suragch/audio_video_progress_bar)### Inspiration
- [Spotube](https://github.com/KRTirtho/spotube/)
- [Harmonoid](https://github.com/harmonoid/harmonoid/)
- [Drip](https://github.com/Spsden/Drip)
- [Musify](https://github.com/gokadzev/Musify)## License
DUNE is an open source project and licensed under the [GNU](/LICENSE) License.