{"id":21989264,"url":"https://github.com/truptigaonkar/mandatory-js-3","last_synced_at":"2026-04-10T21:08:10.132Z","repository":{"id":41604671,"uuid":"160827493","full_name":"truptigaonkar/mandatory-js-3","owner":"truptigaonkar","description":"Build a single-page application (SPA) by making requests to the Dog API (https://dog.ceo/dog-api/documentation/)","archived":false,"fork":false,"pushed_at":"2023-01-06T10:56:53.000Z","size":4673,"stargazers_count":0,"open_issues_count":21,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-28T08:52:12.136Z","etag":null,"topics":["css3","html5","javascript","xmlhttprequest"],"latest_commit_sha":null,"homepage":"https://truptigaonkar.github.io/mandatory-js-3/","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/truptigaonkar.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":"2018-12-07T13:30:16.000Z","updated_at":"2020-07-10T15:52:59.000Z","dependencies_parsed_at":"2023-02-05T22:31:55.153Z","dependency_job_id":null,"html_url":"https://github.com/truptigaonkar/mandatory-js-3","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/truptigaonkar%2Fmandatory-js-3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truptigaonkar%2Fmandatory-js-3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truptigaonkar%2Fmandatory-js-3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truptigaonkar%2Fmandatory-js-3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/truptigaonkar","download_url":"https://codeload.github.com/truptigaonkar/mandatory-js-3/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245048278,"owners_count":20552483,"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":["css3","html5","javascript","xmlhttprequest"],"created_at":"2024-11-29T19:28:36.139Z","updated_at":"2026-04-10T21:08:05.099Z","avatar_url":"https://github.com/truptigaonkar.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## JavaScript Dog API - JavaScript - [Live Demo]( https://truptigaonkar.github.io/mandatory-js-3/)\n![mandatory-js-3](https://user-images.githubusercontent.com/14937374/79688507-0704be00-824f-11ea-9da3-7c1f7092d8f9.gif)\n### Instructions\n* Single-page application (SPA). There should only exist a single html file in the project.\n* Build an application for viewing images of dogs by making requests to the Dog API (https://dog.ceo/dog-api/documentation/).\n* On the front page of the application, a table or list of some kind should list all the different breeds of dogs that can be\n  viewed (see \"List all breeds\" in the documentation).\n* Each breed should link to a new \"page\" where you'll list multiple images of dogs using the \"by breed\" endpoint (see documentation for information). Each new page should have a proper navigation route, meaning after entering a breed page, a refresh of the site should navigate you to the same place. (Tips is to use the hash \"#\" property of window.location).\n* Each breed site should have a list of all sub-breeds that exists (if any) for the breed. These should work similary to the breeds, linking to a seperate sub-breed site where both a list of images should be shown.\n* Each breed and sub-breed site should also render the name of the breed we're looking at.\n* On each site (index, breed, sub-breed), there should also exists a random image (see \"Random image\" in the documentation), and a button that refreshes this random image. When under breed or sub-breed site, the random image should be of the breed or sub-breed.\n### Requirements\n* An index page which shows a random image of a dog of any breed, with a refresh button for the image. On the site there should also be a list of any kind that shows all the different breeds and each breed should link to a new sub-page.\n* A breed page which shows a random image of a dog of the given breed, with a refresh button for the image. On the site there should also be a list of any kind that shows all the different sub-breeds (if any) and each sub-breed should link to a new sub-page. The breed site should also render all the images given from the API by breed (e.g from https://dog.ceo/api/breed/hound/images). There also needs to be a text rendered on the site that identifies the breed we're looking at.\n* A sub-breed page which shows a random image of a dog of the given sub-breed with a refresh button for the image. The sub-breed site should also render all the images given from the API by sub-breed (e.g from https://dog.ceo/api/breed/hound/afgan/images). There also needs to be a text rendered on the site that identifies the sub-breed that we're looking at.\n* Each page except the index page should have some kind of URL identifier that makes it possible for the correct breed or sub-breed to be shown. For example, if I try to navigate to http://mysite.com#breed-hound, the breed-page of the breed hound should be shown directly.\n* There can only exists a single HTML file in the project that is directly rendered by the browser.\n## Resources\nhttps://dog.ceo/dog-api/documentation/   \nhttps://developer.mozilla.org/en-US/docs/Web/Guide/AJAX   \nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON   \nhttps://developer.mozilla.org/en-US/docs/Web/API/Window/location   \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftruptigaonkar%2Fmandatory-js-3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftruptigaonkar%2Fmandatory-js-3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftruptigaonkar%2Fmandatory-js-3/lists"}