{"id":26070501,"url":"https://github.com/pjnalls/itunes","last_synced_at":"2025-08-24T04:09:07.750Z","repository":{"id":245661075,"uuid":"816143442","full_name":"pjnalls/itunes","owner":"pjnalls","description":"An iTunes clone built with Expo and React Native for iOS, Android, and the Web.","archived":false,"fork":false,"pushed_at":"2025-05-29T16:41:46.000Z","size":42335,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-17T18:36:28.800Z","etag":null,"topics":["android","cross-platform","expo","ios","music-player","react","react-native","react-native-track-player","typescript","universal","web"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pjnalls.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-06-17T05:57:48.000Z","updated_at":"2025-07-02T10:27:35.000Z","dependencies_parsed_at":"2024-06-23T08:25:47.449Z","dependency_job_id":"ea2cd4d4-e280-45b1-a396-013914e387c3","html_url":"https://github.com/pjnalls/itunes","commit_stats":null,"previous_names":["pjnalls/itunes"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pjnalls/itunes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pjnalls%2Fitunes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pjnalls%2Fitunes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pjnalls%2Fitunes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pjnalls%2Fitunes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pjnalls","download_url":"https://codeload.github.com/pjnalls/itunes/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pjnalls%2Fitunes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271789557,"owners_count":24821384,"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","status":"online","status_checked_at":"2025-08-24T02:00:11.135Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["android","cross-platform","expo","ios","music-player","react","react-native","react-native-track-player","typescript","universal","web"],"created_at":"2025-03-09T00:00:48.509Z","updated_at":"2025-08-24T04:09:07.744Z","avatar_url":"https://github.com/pjnalls.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg alt=\"icon\" src=\"./assets/itunes.avif\" width=\"64\"\u003e\n\u003c/div\u003e\n\n\u003ch1 align=\"center\"\u003e \n  iTunes Clone\n\u003c/h1\u003e\n\n\u003ch3 align=\"center\"\u003e\n  🍎🎵🎧 an iTunes clone for iOS, Android, and the Web\n\u003c/h3\u003e\n\n\u003cbr/\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg alt=\"iPhone demo image\" src=\"./assets/preview/ios.avif\" width=\"200px\"\u003e\n  \u003cimg alt=\"Android-phone demo image\" src=\"./assets/preview/android.avif\" width=\"195px\"\u003e\n  \u003cimg alt=\"Web demo image\" src=\"./assets/preview/desktop.avif\" width=\"270px\"\u003e\n\u003c/div\u003e\n\n## System Prerequisites\n\nEnsure you have the latest LTS (long-term support) version of [Node.js](https://nodejs.org/) installed on your system.\n\nRecommended installation instructions are available [here](https://nodejs.org/en/download/package-manager).\n\n**IMPORTANT NOTE**: Due to the dependencies included in this project, you _must_ use [EAS Build](https://docs.expo.dev/build/introduction/) to run this app on iOS and Android devices.\n\n## Local Project Setup\n\nSomewhere in your file system, run either\n\n```bash\ngit clone https://github.com/pjnalls/itunes.git\n```\n\nif you aren't connect to GitHub with any SSH keys, **_or_**\n\n```bash\ngit clone git@github.com:pjnalls/itunes.git\n```\n\nif you are.\n\nNext, navigate to the root of the newly cloned project by running the following:\n\n```bash\ncd itunes/\n```\n\nThen, install a `node_modules` folder for all the project's dependencies:\n\n```bash\nnpm i\n```\n\n## [EAS](https://docs.expo.dev/build/introduction/) Project Builds\n\nEnsure the `eas-cli` is installed globally on your machine:\n\n```bash\nnpm i -g eas-cli\n```\n\nRun the following command and follow the instructions in the CLI to create EAS builds for iOS (Apple Developer account needed) and Android:\n\n```bash\neas build --profile development --platform all\n```\n\nAlternatively, you can build for a single platform at a time as builds may take some time to complete:\n\nRun\n\n```bash\neas build --profile development --platform ios\n```\n\nto create EAS builds for iOS only, and run\n\n```bash\neas build --profile development --platform android\n```\n\nto create EAS builds for iOS only.\n\n**IMPORTANT NOTE**: You'll need to install the new EAS development builds on your phone before you can run the Expo app locally, scan the app barcode to connect it, and run the React Native app from a physical iOS or Android device.\n\n## Run iOS, Android, and/or Web Apps\n\nRun the following to run the Expo app:\n\n```bash\nnpm start\n```\n\nThen, if you have the EAS development builds installed on your phone, you should be able to scan the barcode that appears and run the React Native app from an iOS or and Android device.\n\nPress `w` to open the web version of the React Native app in the browser.\n\n**NOTE**: It's possible to run an iPhone, Android phone, and the browser on the same React Native app instance for cross-platform development. Also, simultaneous, universal HMR (Hot-module Replacement) has been enabled for this app.\n\n## References\n\n#### Helpful `react-native-track-player` Demo\n\n[https://github.com/codezri/react-native-track-player-demo/](https://github.com/codezri/react-native-track-player-demo/)\n\n#### #1 Helpful GitHub Comment for Building and Running This App\n\n[https://github.com/doublesymmetry/react-native-track-player/issues/2227#issuecomment-2072231817](https://github.com/doublesymmetry/react-native-track-player/issues/2227#issuecomment-2072231817)\n\n#### Another Helpful `react-native-track-player` Demo for iOS\n\n[https://medium.com/@gionata.brunel/implementing-react-native-track-player-with-expo-including-lock-screen-part-1-ios-9552fea5178c](https://medium.com/@gionata.brunel/implementing-react-native-track-player-with-expo-including-lock-screen-part-1-ios-9552fea5178c)\n\n#### Another Helpful `react-native-track-player` Demo for Android\n\n[https://medium.com/@gionata.brunel/implementing-react-native-track-player-with-expo-including-lock-screen-part-2-android-8987e374f965](https://medium.com/@gionata.brunel/implementing-react-native-track-player-with-expo-including-lock-screen-part-2-android-8987e374f965)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpjnalls%2Fitunes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpjnalls%2Fitunes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpjnalls%2Fitunes/lists"}