{"id":14006803,"url":"https://github.com/resonatecoop/stream-app","last_synced_at":"2026-01-22T13:23:27.944Z","repository":{"id":37925614,"uuid":"460653935","full_name":"resonatecoop/stream-app","owner":"resonatecoop","description":"A mobile app for playing music on Resonate, an open source music streaming co-op. This is repository is in maintenance mode, while actively developing this repository: https://github.com/resonatecoop/mobile","archived":false,"fork":false,"pushed_at":"2024-09-17T11:16:05.000Z","size":2169,"stargazers_count":16,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-29T22:37:43.365Z","etag":null,"topics":["expo","music","music-player","open-source","react-native","stream","streaming","typescript"],"latest_commit_sha":null,"homepage":"https://stream.resonate.coop","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/resonatecoop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":"resonate","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2022-02-18T00:22:48.000Z","updated_at":"2024-09-17T11:16:05.000Z","dependencies_parsed_at":"2023-02-15T14:16:40.038Z","dependency_job_id":"4532c776-f4b4-48ae-8493-61c452a19bdd","html_url":"https://github.com/resonatecoop/stream-app","commit_stats":{"total_commits":113,"total_committers":2,"mean_commits":56.5,"dds":0.1415929203539823,"last_synced_commit":"5d09bb331bb042c4ea136a85671f9e5a939a2395"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/resonatecoop%2Fstream-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/resonatecoop%2Fstream-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/resonatecoop%2Fstream-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/resonatecoop%2Fstream-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/resonatecoop","download_url":"https://codeload.github.com/resonatecoop/stream-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227280692,"owners_count":17757968,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["expo","music","music-player","open-source","react-native","stream","streaming","typescript"],"created_at":"2024-08-10T10:01:39.081Z","updated_at":"2026-01-22T13:23:27.900Z","avatar_url":"https://github.com/resonatecoop.png","language":"TypeScript","funding_links":["https://opencollective.com/resonate"],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003e 🛠 **Status: Maintenance Mode | Stable**\n\u003e\n\u003e This project is currently in [maintenance mode](https://en.wikipedia.org/wiki/Maintenance_mode) - users should feel free to continue to use this app and expect bug fixes, but not expect many additional features, as this is considered relatively feature-complete (given the limitations of [`react-native-webview`](https://github.com/react-native-webview/react-native-webview).\n\u003e \n\u003e Future development is occurring here: [`mobile`](https://github.com/resonatecoop/mobile) as a React Native TypeScript implementation without [`react-native-webview`](https://github.com/react-native-webview/react-native-webview). Note that this repository is still active on the [Google Play Store](https://play.google.com/store/apps/details?id=com.resonate.streamapp) and the [Apple Store](https://testflight.apple.com/join/WJZ5EHqf), so please submit any issues for problems encountered [here](https://github.com/peterklingelhofer/stream-app/issues), as we are continuing to offer support and fix bugs while [`mobile`](https://github.com/resonatecoop/mobile) development is still underway.\n\n## 🎵 Resonate Stream App\n\nA mobile app for playing music on [Resonate](https://stream.resonate.coop/), an open source music streaming co-op.\n\nThe [🤖 Android App](https://play.google.com/store/apps/details?id=com.resonate.streamapp) is available for open testing.\n\nThe [🍎 Apple/iOS App](https://testflight.apple.com/join/WJZ5EHqf) is available for external testing.\n\nThe [Expo Project Page](https://expo.dev/@peterklingelhofer/stream-app?serviceType=classic\u0026distribution=expo-go) permits testing with the [Expo Go](https://expo.dev/client) client.\n\nA [demonstration video](https://www.dropbox.com/s/yfpaw0v7lu2x9af/Simulator%20Screen%20Recording%20-%20iPhone%208%20-%202022-02-17%20at%2018.58.26.mp4?dl=0) is available.\n\nSee the [stream](https://github.com/resonatecoop/stream) repository for more details.\n\nView the [GitHub Project Board](https://github.com/peterklingelhofer/stream-app/projects/1) to track work progress and management for this repository.\n\n## 🎶 Description\n\nResonate is an open-source music streaming service run by a cooperative of artists and software developers.\n\nIf you want to know what we're building or want to get more involved, head over to the Platform category on our [forum](https://community.resonate.is/c/platform/l/latest?board=default) or read the [Developer Guide](https://community.resonate.is/docs?topic=2262) in our [Resonate Handbook](https://community.resonate.is/docs).\n\nView the [project board](https://github.com/peterklingelhofer/stream-app/projects/1) where work is tracked for this repository. If you're looking for a good first task, feel encouraged to take on an un-assigned [`help wanted` or `good first task` issues](https://github.com/resonatecoop/stream/issues).\n\nAre you building something using the Resonate [API](#api) and would like to request a change? Resonate welcomes #proposals in the [Co-Operation section of the forum](https://community.resonate.is/c/66).\n\n\n## 🗂 Tech Stack\n\n- Babel\n- Expo\n- React\n- React Native\n- TypeScript\n\n\n## 🔧 Installation \u0026 Start\n\nClone this repository, install dependencies, and start expo.\n\n```sh\ngit clone https://github.com/peterklingelhofer/stream-app.git\ncd stream-app\nyarn global add expo-cli\nyarn\nexpo start\n```\n\n## 📦 Build\nInstall the latest Expo Application Services (EAS) package.\n\n```sh\nnpm install -g eas-cli\n```\n\nThen create a build for whichever platform you desire:\n```sh\neas build -p android\n```\n```sh\neas build -p ios\n```\n\nFor more in-depth instructions and additional options, review the [official Expo build documentation](https://docs.expo.dev/build/introduction/).\n\n## 🧪 Testing\nFor testing, per [#3 under Other issues to consider](https://github.com/resonatecoop/stream/issues/171), we should probably also be testing (at-least locally) with the development branch of the [stream repository](https://github.com/resonatecoop/stream) considering the in-progress Wordpress transition -- 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.\n\n\n## 📚 Contributing\n\n\u003ca href=\"https://github.com/resonatecoop/stream2own/blob/master/CONTRIBUTING.md\"\u003eContributing\u003c/a\u003e 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:\n\nSearch project for contribution instructions and follow them if present.\nFork project repo from your personal Github account.\nCopy the fork and clone repo onto your local machine.\nAdd the original repository (the you forked) as a remote called upstream.\nIf you created your fork a while ago be sure to pull upstream changes into your local repository.\nCreate a new branch to work on! Branch from develop if it exists, else from master.\nImplement/fix your feature.\nFollow the code style of the project, including indentation.\nIf the project has included tests use them.\nAdd additional tests or convert existing tests as necessary.\nAdd or convert project documentation as needed.\nPush your working branch to your forked repo on Github.\nMake a pull request from your forked repo to the origin master or development branch if present.\nOnce your pull request is merged, pull down upstream master to your local repo and delete any additional branch(es) you may have created.\nCommit messages should be written in present tense describing what the committed code does and not what you changed in the code.\n\n\n## 📖 References\n\n- [Expo](https://expo.dev/)\n- [React Native](https://reactnative.dev/)\n- [TypeScript](https://typescriptlang.org/')\n\n\n## 📑 License\n\n`stream-app` is licensed under the\n[GNU General Public License v3.0](https://github.com/peterklingelhofer/stream-app/blob/master/LICENSE)\n\nPermissions 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.\n\n\n## 📸 Screenshots\n![Screenshot_20220328-234520_Resonate](https://user-images.githubusercontent.com/60944077/167742491-00e0ac80-3fc7-4b6d-a564-d4bd03c146da.jpg)\n![Screenshot_20220328-234804_Resonate](https://user-images.githubusercontent.com/60944077/167742511-087af2d5-af71-45a3-96ef-e1d5d7e2034a.png)\n![Screenshot_20220328-234942_Resonate](https://user-images.githubusercontent.com/60944077/167742534-13c8d18b-7923-439d-8b61-abd7ea53896e.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fresonatecoop%2Fstream-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fresonatecoop%2Fstream-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fresonatecoop%2Fstream-app/lists"}