{"id":19863779,"url":"https://github.com/danyst/keepcoding-iossuperpowers-exam","last_synced_at":"2025-07-11T20:39:20.553Z","repository":{"id":208144453,"uuid":"720911821","full_name":"DanyST/Keepcoding-iOSSuperPowers-exam","owner":"DanyST","description":null,"archived":false,"fork":false,"pushed_at":"2023-11-20T03:35:42.000Z","size":6117,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-01T00:25:59.821Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","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/DanyST.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-20T00:22:02.000Z","updated_at":"2023-11-20T00:22:39.000Z","dependencies_parsed_at":"2025-02-28T23:16:45.889Z","dependency_job_id":"f5779c72-6ebf-425b-879a-33c3730c7321","html_url":"https://github.com/DanyST/Keepcoding-iOSSuperPowers-exam","commit_stats":null,"previous_names":["danyst/keepcoding-iossuperpowers-exam"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DanyST/Keepcoding-iOSSuperPowers-exam","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanyST%2FKeepcoding-iOSSuperPowers-exam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanyST%2FKeepcoding-iOSSuperPowers-exam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanyST%2FKeepcoding-iOSSuperPowers-exam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanyST%2FKeepcoding-iOSSuperPowers-exam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DanyST","download_url":"https://codeload.github.com/DanyST/Keepcoding-iOSSuperPowers-exam/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanyST%2FKeepcoding-iOSSuperPowers-exam/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264895590,"owners_count":23679912,"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-12T15:16:03.937Z","updated_at":"2025-07-11T20:39:20.475Z","avatar_url":"https://github.com/DanyST.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"#  KeepCoding FullStack Mobile Bootcamp iOS Super Powers Exam\n\n## Description\nThe objective of this practice is to implement an IOS iPhone mobile application that is capable of consuming a Marvel web service and displaying the information.\n\n### Requirements\nFor the development of the application, the following technologies should be used within an MVVM architecture:\n- SwiftUI\n- Combine\n\nThe application will consist of a list of heroes, where a list with the photo and name will be displayed. When tapping on a hero, the detail view will show the series in which the hero appears, along with a photo of the series, the title, and a description.\n\nTesting needs to be added to the App's code and a minimum code coverage of 50% should be achieved.\n\n## Architecture Solution\n- Clean architecture\n  - Data Layer\n    - DTO Models mappers to Domain\n    - Network with endpoint connection.\n    - Repository\n  - Domain Layer\n    - UseCases\n    - Models\n  - Presentation Layer \n    - ViewModels\n    - Views\n\nLayer-to-layer connection with protocols and Combine.\n\n## Features Solution\n- HeroList\n- HeroDetail\n- SerieDetail\n\n## Preview\n![App preview](ReadmeResources/DemoPreview.gif)\n\n\n# Installation\n\nTo run the project, you need to obtain the authorization data from the [Marvel API](https://developer.marvel.com/documentation/authorization). These are **hash**, **apikey**, and **ts**.\n\nOnce you obtain these data, add them to the **ApiConfig** file in the project.\n\n\u003cimg width=\"350\" src=\"ReadmeResources/ApiConfigDemo.png\"\u003e\n\nFor convenience, you can search for it with keyboard shortcut **CMD + Shift + O**.\n\n#### Great! You can now run the project and test the application :)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanyst%2Fkeepcoding-iossuperpowers-exam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanyst%2Fkeepcoding-iossuperpowers-exam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanyst%2Fkeepcoding-iossuperpowers-exam/lists"}