{"id":21445369,"url":"https://github.com/danseethaler/itunes","last_synced_at":"2025-03-17T01:18:11.854Z","repository":{"id":35981836,"uuid":"40273366","full_name":"danseethaler/itunes","owner":"danseethaler","description":null,"archived":false,"fork":false,"pushed_at":"2015-08-05T23:14:32.000Z","size":104,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-23T11:16:09.282Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danseethaler.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-05T23:14:13.000Z","updated_at":"2015-08-05T23:14:32.000Z","dependencies_parsed_at":"2022-09-04T04:12:13.923Z","dependency_job_id":null,"html_url":"https://github.com/danseethaler/itunes","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danseethaler%2Fitunes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danseethaler%2Fitunes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danseethaler%2Fitunes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danseethaler%2Fitunes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danseethaler","download_url":"https://codeload.github.com/danseethaler/itunes/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243955799,"owners_count":20374373,"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":[],"created_at":"2024-11-23T02:26:27.503Z","updated_at":"2025-03-17T01:18:11.833Z","avatar_url":"https://github.com/danseethaler.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"iTunes Angular Clone\n========\n\n### Learning Objectives (Students will…):\n  - be able to make $http requests to various APIs\n  - be able to use outside directives and know how to inject those modules into their application\n  - be able to create, return, and resolve their own promises with $q\n\n\nYou now should be to the point where you understand the bigger picture of the iTunes web app that has been show to you throughout the class (http://tylermcginnis.com/itunes). Tonight, you're going to recreate your own version of it which fetches Artists using the iTunes API.  \n\nThe concepts this project will cover are \n1. $http\n2. Angular Services\n3. Passing a Service into your Controller\n4. Working with outside code (ng-grid)\n\n\n##Step 1: Clone and Dissect the Repo\n* Fork and clone this repository.\n* Go and check out http://tylermcginnis.com/itunes. Although that example includes a bunch of filtering options, this project will just be fetching data by artist name.\n* Examine the codebase. Like the ChatRoom project, the index.html page is already built for you. Your main goal is to fill in mainCtrl.js and itunesService.js\n* If you're feeling adventurous, feel free to change the CSS how you would like.\n* Head over to http://angular-ui.github.io/ng-grid/ and check out the examples there. We will be using ng-grid to display the data we get from iTunes. Although all this code will already be in place for you, it's a good idea to get familiar with ng-grid so you know exactly what that code is doing.\n\n\n##Step 2: Build your itunesService\n* In Angular we use 'services' to outsource some of our heavy lifting. That's exactly what we're going to do when we call the iTunes API.\n* Open up itunesService.js and read the instructions. The bigger picture is that this service is going to have a method which takes in an artist name as the parameter, then uses a JSONP http request to call the iTunes API and retrieve the data about that specific artist.\n\n\n##Step 3: Tie in your Controller\n* Now that your itunesService is finished, we somehow need a way to tie the data we're getting from itunesService to our view (index.html)\n* Go to mainCtrl.js and follow the instructions in order to get the itunes data from your service to your view\n\n\n##Step 4: Add More Options\n* Go back and look at the original data you're getting from iTunes. There is a lot more that you can play around with...\n* Add more columns to ng-grid so the user can see more options\n* Add a filtering option so they can filter by price, name, etc etc.\n* Also add a options dropdown so they can select which type of data they want from iTunes. Artist, song, movie, etc.(In other words, make it exactly like http://tylermcginnis.com/itunes)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanseethaler%2Fitunes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanseethaler%2Fitunes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanseethaler%2Fitunes/lists"}