{"id":18686654,"url":"https://github.com/danijeldragicevic/simple-music-advisor","last_synced_at":"2026-04-29T20:09:02.834Z","repository":{"id":172155812,"uuid":"648923667","full_name":"danijeldragicevic/simple-music-advisor","owner":"danijeldragicevic","description":"Desktop application that access Spotify API and show requested information","archived":false,"fork":false,"pushed_at":"2023-06-19T10:22:58.000Z","size":67,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-18T19:08:25.447Z","etag":null,"topics":["http-client","http-requests","http-server","hyperskill-solutions","java11","maven","oauth2-client","spotify-api"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danijeldragicevic.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":"2023-06-03T08:03:31.000Z","updated_at":"2023-06-16T09:32:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"936d0fff-e4af-4584-96e8-db5e71422ba5","html_url":"https://github.com/danijeldragicevic/simple-music-advisor","commit_stats":null,"previous_names":["danijeldragicevic/simple-music-advisor"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/danijeldragicevic/simple-music-advisor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danijeldragicevic%2Fsimple-music-advisor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danijeldragicevic%2Fsimple-music-advisor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danijeldragicevic%2Fsimple-music-advisor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danijeldragicevic%2Fsimple-music-advisor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danijeldragicevic","download_url":"https://codeload.github.com/danijeldragicevic/simple-music-advisor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danijeldragicevic%2Fsimple-music-advisor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32441616,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T18:12:22.909Z","status":"ssl_error","status_checked_at":"2026-04-29T18:11:33.322Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["http-client","http-requests","http-server","hyperskill-solutions","java11","maven","oauth2-client","spotify-api"],"created_at":"2024-11-07T10:28:27.269Z","updated_at":"2026-04-29T20:09:02.807Z","avatar_url":"https://github.com/danijeldragicevic.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simple Music Advisor App\nJava desktop application that access Spotify API and show requested information.\nApplication is able to:\n- authenticate against Spotify API using OAuth protocol,\n- show a list of new albums with artists and links on Spotify,\n- show list of Spotify-featured playlists with their links fetched from API,\n- show a list of all available categories on Spotify (just their names), and\n- show playlists, grouped by the category names, with their links fetched from API.\n\n# Technology\n- Java 11\n- Maven 3.6.3\n\n# Create Spotify App\nTo be able to authenticate against Spotify API first we must go to the [Spotify Web site for developers](https://developer.spotify.com/) and create our application. We can give it arbitrary name and description and put our localhost address as redirect URI: \"http://localhost:8080\". We must use exactly this URL and port because our Music Advisor app depends on it.\n\n# To run application:\nTo compile and build, navigate to the project root directory and run following command:\n\u003e mvn clean package\n\nAfter we have successfully built the project, we can run application with the following command:\n\u003e mvn exec:java -Dexec.mainClass=\"advisor.Main\"\n\n# Examples\nThe symbol **\u003e** represents the user input.\n\n**Example 1:** Authentication step \u003cbr\u003e\nTo authenticate against Spotify API first we have to type **auth** command. \u003cbr\u003e\nAfter we get authentication link, application will wait till we do manual click on it and approve access to our Spotify App (the one that is created in the previous step).\n```\n\u003e auth\nauth\nuse this link to request the access code:\nhttps://accounts.spotify.com/authorize?client_id=6c4fbf0c811242f0bd6c40f85bcbba17\u0026redirect_uri=http://localhost:8080\u0026response_type=code\nwaiting for code...\ncode received\nMaking http request for access_token...\nresponse:\n{\"access_token\":\"BQDLJmcfXvTv2ctGLJuP2FSpkNCplvlBL5JbIb-opBWq2sv8gjUAa2HrNxGhxkILEdgohj34oN1uM1I0wqxA3EyIMstsq1QY4_jAAsY2u-Im5sskm9u-qIA80J2jecP3CuhTWm3G41A6OQab-d0D6o8RmdxvzS4THbOhNy9kh-LmmcvjPxxejuAhxwZzhaXz0DyNSA\",\"token_type\":\"Bearer\",\"expires_in\":3600,\"refresh_token\":\"AQC1PfNZhsTYC-c64xj5WimkTu_CAZgWt2rgDD_KublNL2fcyBgrBpRpn-4_vjjU7mBzJQpozFMPJ9XSKN4hYmiSYi1ZYJkHfPjSoCe7mFJQQCkqb7DrloiDQ6nZDVhb_E0\"}\nSuccess!\n```\n![Screenshot 2023-06-15 at 15 58 09](https://github.com/danijeldragicevic/simple-music-advisor/assets/82412662/8840cf89-18e6-4620-8386-627aede68c5b)\n\n\n**Example 2:** Main menu operations \u003cbr\u003e\nTo show a list of new albums:\n```\n\u003e new\nHarry's House\n[Harry Styles]\nhttps://open.spotify.com/album/5r36AJ6VOJtp00oxSkBZ5h\n\nemotionally unavailable\n[Cat Burns]\nhttps://open.spotify.com/album/3IdEptw0LPQv9qNLbxkdAU\n\nSo Far So Good\n[The Chainsmokers]\nhttps://open.spotify.com/album/1CxCEPIZbaE28qUDW4wN0t\n\nDance Fever\n[Florence + The Machine]\nhttps://open.spotify.com/album/4ohh1zQ4yybSK9FS7LLyDE\n\nESQUEMAS\n[Becky G]\nhttps://open.spotify.com/album/7eC4wtMG1I2Jtk4FDWbkKC\n\n---Page 1 OF 9---\n```\n\nTo show featured playlists:\n```\n\u003e featured\nRock Classics\nhttps://open.spotify.com/playlist/37i9dQZF1DWXRqgorJj26U\n\nWork From Home\nhttps://open.spotify.com/playlist/37i9dQZF1DWTLSN7iG21yC\n\nJazz Rap\nhttps://open.spotify.com/playlist/37i9dQZF1DX8Kgdykz6OKj\n\nMood Booster\nhttps://open.spotify.com/playlist/37i9dQZF1DX3rxVfibe1L0\n\nThe Black Power Mixtape 1967–1975\nhttps://open.spotify.com/playlist/37i9dQZF1DX94QVAxB7Dum\n\n---Page 1 OF 2---\n```\n\nTo show available categories:\n```\n\u003e categories\nTop Lists\nPop\nEQUAL\nMood\nDecades\n---Page 1 OF 8---\n```\n\nTo show playlists grouped by the category names:\n```\n\u003e playlists Mood\nA Perfect Day\nhttps://open.spotify.com/playlist/37i9dQZF1DWSXBu5naYCM9\n\n*end credits\nhttps://open.spotify.com/playlist/37i9dQZF1DX2DKrE9X6Abv\n\ngoosebumps\nhttps://open.spotify.com/playlist/37i9dQZF1DXdl6IPOySdX4\n\nEnergy Booster: Dance\nhttps://open.spotify.com/playlist/37i9dQZF1DX35X4JNyBWtb\n\nDOPAMINE\nhttps://open.spotify.com/playlist/37i9dQZF1DX0E9XMGembJo\n\n---Page 1 OF 21---\n```\n\nTo go on a next page of some menu:\n```\n\u003e next\nEnergy Booster: Pop\nhttps://open.spotify.com/playlist/37i9dQZF1DX0vHZ8elq0UK\n\nmy life is a movie\nhttps://open.spotify.com/playlist/37i9dQZF1DX4OzrY981I1W\n\nEnergy Booster: Hip-Hop\nhttps://open.spotify.com/playlist/37i9dQZF1DWZixSclZdoFE\n\nslowed and reverbed\nhttps://open.spotify.com/playlist/37i9dQZF1DX0h2LvJ7ZJ15\n\nLevitate\nhttps://open.spotify.com/playlist/37i9dQZF1DWVY5eNJoKHd2\n\n---Page 2 OF 21---\n```\n\nTo go on a previous page of some menu:\n```\n\u003e prev\nA Perfect Day\nhttps://open.spotify.com/playlist/37i9dQZF1DWSXBu5naYCM9\n\n*end credits\nhttps://open.spotify.com/playlist/37i9dQZF1DX2DKrE9X6Abv\n\ngoosebumps\nhttps://open.spotify.com/playlist/37i9dQZF1DXdl6IPOySdX4\n\nEnergy Booster: Dance\nhttps://open.spotify.com/playlist/37i9dQZF1DX35X4JNyBWtb\n\nDOPAMINE\nhttps://open.spotify.com/playlist/37i9dQZF1DX0E9XMGembJo\n\n---Page 1 OF 21---\n```\n\nTo exit from the application:\n```\n\u003e exit\n```\n\n# Licence\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanijeldragicevic%2Fsimple-music-advisor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanijeldragicevic%2Fsimple-music-advisor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanijeldragicevic%2Fsimple-music-advisor/lists"}