A mobile app for playing music on Resonate, an open source music streaming co-op.

Overview

stream2own

Play fair.


🎵 Resonate Stream App

A mobile app for playing music on Resonate, an open source music streaming co-op.

The 🤖 Android App is available for open testing.

The 🍎 Apple/iOS App is available for external testing.

The Expo Project Page permits testing with the Expo Go client.

A demonstration video is available.

See the stream repository for more details.

🎶 Description

Resonate is an open-source music streaming service run by a cooperative of artists and software developers.

If you want to know what we're building or want to get more involved, head over to the Platform category on our forum or read the Developer Guide in our Resonate Handbook.

If you're looking for a good first task, feel encouraged to take on an un-assigned 'help wanted' issues.

Are you building something using the Resonate API and would like to request a change? Resonate welcomes #proposals in the Co-Operation section of the forum.

📦 Tech Stack

  • Babel
  • Expo
  • React
  • React Native
  • TypeScript

🔧 Installation & Start

Clone this repository, install dependencies, and start expo.

git clone https://github.com/peterklingelhofer/stream-app.git
cd stream-app
yarn global add expo-cli
yarn
expo start

🧪 Testing

For testing, per #3 under Other issues to consider, we should probably also be testing (at-least locally) with the development branch of the stream repository considering the Wordpress transition should be launching within around early to mid March 2022 -- change the WebView source prop in App.tsx to source={{ uri: 'https://stream.resonate.ninja/discover' }}. As far as we know, the only difference for the streaming player should be signup/login flow and account settings.

📚 Contributing

Contributing to others’ projects is an avenue to learn new software development skills and experience new technologies. The pull request is how your personal contributions will be added to the project. The following is an overview of the Git project management workflow:

Search project for contribution instructions and follow them if present. Fork project repo from your personal Github account. Copy the fork and clone repo onto your local machine. Add the original repository (the you forked) as a remote called upstream. If you created your fork a while ago be sure to pull upstream changes into your local repository. Create a new branch to work on! Branch from develop if it exists, else from master. Implement/fix your feature. Follow the code style of the project, including indentation. If the project has included tests use them. Add additional tests or convert existing tests as necessary. Add or convert project documentation as needed. Push your working branch to your forked repo on Github. Make a pull request from your forked repo to the origin master or development branch if present. Once your pull request is merged, pull down upstream master to your local repo and delete any additional branch(es) you may have created. Commit messages should be written in present tense describing what the committed code does and not what you changed in the code.

📖 References

📑 License

stream-app is licensed under the GNU General Public License v3.0

Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights.

📇 Contact

[email protected]

Comments
  • Smooth scrolling

    Smooth scrolling

    Is your feature request related to a problem? Please describe. I'm always frustrated when I scroll and notice smooth scrolling is enabled. It feels unnatural and slow.

    Describe the solution you'd like I would like smooth scrolling to be disabled.

    Describe alternatives you've considered I considered the website but I thought using the app would be better for some reason.

    Additional context Unnecessary

    bug 
    opened by pabloscloud 8
  • album art on now playing widget

    album art on now playing widget

    Looks like a bit more could go on the now playing widget

    https://github.com/tanguyantoine/react-native-music-control https://expo.canny.io/feature-requests/p/react-native-music-control

    maybe i will give this a shot (unless you get to it first)

    opened by whatSocks 5
  • Add to F-Droid

    Add to F-Droid

    We should add this app to F-Droid.

    Here is documentation regarding adding the repository.

    We will be building out a React Native TypeScript implementation in this repository: mobile, which will allow it to be added to the F-Droid repository.

    enhancement wontfix 
    opened by peterklingelhofer 3
  • Cookie Policy displayed briefly on load

    Cookie Policy displayed briefly on load

    If a user on iOS 14+ closes the app and re-opens it, the Cookie Policy screen flashes for a brief second while the app awaits a response from the asynchronous check to the user's phone regarding whether they are granting or denying Tracking for the app (necessary to allow cookies so users can log in, currently the only way a user can log in on https://stream.resonate.coop).

    We need to display a loading animation or merely continue to display the Resonate logo in the center of the screen during this brief couple of milliseconds.

    bug 
    opened by peterklingelhofer 1
  • readme questions

    readme questions

    Running through readme blindly:

    WARNING: expo-cli has not yet been tested against Node.js v17.5.0.
    If you encounter any issues, please report them to https://github.com/expo/expo-cli/issues
    
    expo-cli supports following Node.js versions:
    * >=12.13.0 <13.0.0 (Maintenance LTS)
    * >=14.0.0 <15.0.0 (Active LTS)
    * >=15.0.0 <17.0.0 (Current Release)
    
    Starting project at /Users/cristinae/Documents/_projects/resonate/stream-app
    Unable to find expo in this project - have you run yarn / npm install yet?
    

    looks like npm install is missing

    documentation 
    opened by whatSocks 1
  • chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2

    chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2

    Bumps decode-uri-component from 0.2.0 to 0.2.2.

    Release notes

    Sourced from decode-uri-component's releases.

    v0.2.2

    • Prevent overwriting previously decoded tokens 980e0bf

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2

    v0.2.1

    • Switch to GitHub workflows 76abc93
    • Fix issue where decode throws - fixes #6 746ca5d
    • Update license (#1) 486d7e2
    • Tidelift tasks a650457
    • Meta tweaks 66e1c28

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Convert to React Native TypeScript app, eject React Native WebView

    Convert to React Native TypeScript app, eject React Native WebView

    Current goal is to put this repository in maintenance mode, and build out a React Native TypeScript implementation in this repository: mobile.

    See the beam repository's React/TypeScript codebase that we can probably heavily borrow from for this.

    enhancement help wanted 
    opened by peterklingelhofer 2
  • Media controls do not appear in notification area during playback for /e/ users

    Media controls do not appear in notification area during playback for /e/ users

    No media controls appear in the notification area during playback for /e/ (which uses microG to replace Google’s proprietary libraries) users.

    The playback controls show for Iceraven, a Firefox fork iceraven

    /e/ OS’s default web browser eOSdefaultwebbrowser

    We would expect to have similar behavior as when I’m playing music through a web browser or other music apps.

    React Native WebView uses the phone's default browser.

    The stream repository uses MediaSession to handle playback controls in the notification center, which works as intended on Android and iOS mobile devices.

    We have inquired on the /e/ forums about this issue.

    bug 
    opened by peterklingelhofer 0
Releases(1.2.3)
Owner
Peter Klingelhofer
Peter Klingelhofer
JavaScript plugin for playing sounds and music in browsers

JavaScript plugin for playing sounds on user actions and page events. Version: 3.0.7 Project page and demos Download ZIP Support the plugin on GitHub

Denis Ineshin 704 Sep 24, 2022
A self-hosted, completely private and free music streaming server compatible with Synology Audio Station's web browser interface and smartphone apps.

Open Audio Server Open Audio Server is a music streaming server compatible with Audio Station by Synology. Audio Station creates your own private serv

null 91 Dec 11, 2022
Advanced Music Bot It is an advance type of discord music bot which plays high quality of music with spotify

Advanced Music Bot It is an advance type of discord music bot which plays high quality of music with spotify, apple music support . You can save your songs and play it. It also has DJ mode system.

Diwas Atreya 65 Dec 25, 2022
A Javascript library for working with Audio. It provides a consistent API for loading and playing audio on different browsers and devices. Currently supports WebAudio, HTML5 Audio, Cordova / PhoneGap, and a Flash fallback.

SoundJS SoundJS is a library to make working with audio on the web easier. It provides a consistent API for playing audio in different browsers, inclu

CreateJS 4.3k Dec 31, 2022
A React component for playing a variety of URLs, including file paths, YouTube, Facebook, Twitch, SoundCloud, Streamable, Vimeo, Wistia and DailyMotion

ReactPlayer A React component for playing a variety of URLs, including file paths, YouTube, Facebook, Twitch, SoundCloud, Streamable, Vimeo, Wistia, M

Pete Cook 7.2k Jan 4, 2023
now-playing: A website to show what I'm currently listening to on Spotify Run on Repl.it

now-playing: A website to show what I'm currently listening to on Spotify ❓ How does it work? This project is split into two parts - the frontend and

Connor Dennison 3 Apr 29, 2022
The code for the LOL Banner discord bot, a bot that bans anyone for playing league of legends.

LOL-Banner.js The code for the LOL Banner discord bot, a bot that bans anyone for playing League Of Legends. This project was made based off of the me

M'et 17 Aug 2, 2022
This is a simple web based media player for playing video and audio. Build with pure HTML, CSS and Javascript. No framework or library included.

Aim-Player This is a simple web based media player for playing video and audio. Build with pure HTML, CSS and Javascript. No framework or library incl

Aim Mikel 2 Jun 27, 2021
update your twitter banner with the song you're currently playing on Spotify

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

Dunsin 4 Oct 17, 2022
Spotify radio is an audio streaming app where you can add effects in real time.

Spotify Radio - Semana JS Expert 6.0 Spotify radio is an audio streaming app where you can add effects in real time. JS-Expert Project of the Week by

Luis Fernando 6 Apr 25, 2022
The #1 cross-platform open source music player

Rhyme The #1 Open-Source Music Player Discord: Matrix: A beautiful looking music player which supports Local music files Create custom playlists view

Rhyme Music Player 51 Apr 13, 2022
SRS Player is a video streaming player, supports HLS/HTTP-FLV/WebRTC etc.

WordPress-Plugin-SrsPlayer SRS Player is a video streaming player, supports HLS/HTTP-FLV/WebRTC etc. Usage First, you should get your own video stream

ossrs 3 Jul 27, 2022
SRS Player is a video streaming player, supports HLS/HTTP-FLV/WebRTC etc.

SRS Player is a video streaming player, supports HLS/HTTP-FLV/WebRTC etc.

ossrs 12 Oct 15, 2022
Free Anime Streaming Website Made with PHP and Gogoanime API. No Video ads

AniKatsu - Watch High Quality Anime Online Without Ads Demo https://anikatsu.ga This is a PHP application used for browsing, searching and watching an

Shashank Tiwari 34 Nov 7, 2022
A browser extension to skip intro, recap and ads on video streaming plaforms

AIO Skipper AIO skipper is a browser extension made for ?? binge watchers ?? . It automatically skip intro, recaps and ads in Netflix, Prime Video, Di

null 6 Nov 2, 2022
Music-Player - Music player application built with HTML, CSS and vanilla JavaScript

Music-Player Music player application built with HTML, CSS and vanilla JavaScrip

Karthik Umashankar 1 Feb 10, 2022
A decentralized Music Ownership System developed on Truffle Suite and React Bootstrap to allow Music artists to upload their content to the blockchain, that can be streamed by users

A decentralized Music Ownership System developed on Truffle Suite and React Bootstrap to allow Music artists to upload their content to the blockchain, that can be streamed by users.

M. Adil Fayyaz 10 Sep 5, 2022
Source Code Of Manybaht#2832. #1 Music Bot In Thailand.

เริ่มต้นเขียนบอทดิสคอร์ด Repo อันนี้ ไม่ได้ทำมาเพื่อให้เข้ามา ทำการโหลด Source บอทหลายบาท แล้วเอาไปเปิดโดยไม่สนใจโลกอะไรเลย Repo อันนี้ จะสอนวิธีการเข

null 24 Dec 9, 2022
Simple Music Player App

Разработка музыкального плеера Разработка страницы музыкального плеера с возможностью поиска/выбора альбома для воспроизведения. Адаптивная верстка дл

Dmitry Lebedko 7 Apr 10, 2022