{"id":28376646,"url":"https://github.com/apiaryio/polls-app","last_synced_at":"2025-06-26T14:31:15.938Z","repository":{"id":29734631,"uuid":"33277933","full_name":"apiaryio/polls-app","owner":"apiaryio","description":"Swift iPhone and iPad Client for Polls API, using Hyperdrive API client","archived":true,"fork":false,"pushed_at":"2017-08-18T15:09:52.000Z","size":425,"stargazers_count":34,"open_issues_count":0,"forks_count":5,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-30T00:07:30.738Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Swift","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/apiaryio.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}},"created_at":"2015-04-01T23:14:14.000Z","updated_at":"2024-11-08T09:04:07.000Z","dependencies_parsed_at":"2022-09-06T18:10:44.520Z","dependency_job_id":null,"html_url":"https://github.com/apiaryio/polls-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/apiaryio/polls-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apiaryio%2Fpolls-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apiaryio%2Fpolls-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apiaryio%2Fpolls-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apiaryio%2Fpolls-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apiaryio","download_url":"https://codeload.github.com/apiaryio/polls-app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apiaryio%2Fpolls-app/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262084646,"owners_count":23256279,"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":"2025-05-30T00:07:29.968Z","updated_at":"2025-06-26T14:31:15.931Z","avatar_url":"https://github.com/apiaryio.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"Polls/Images.xcassets/AppIcon.appiconset/app-3x.png\" width=90 height=90 /\u003e\n\n# Polls Client\n\n[![Build Status](https://travis-ci.org/apiaryio/polls-app.svg?branch=master)](https://travis-ci.org/apiaryio/polls-app)\n\nThis is a Swift iPhone and iPad client for the [Polls API](https://github.com/apiaryio/polls-api) - a simple application allowing users to view polls and vote in them.\n\nPolls is an example application utilising the [Hyperdrive](https://github.com/the-hypermedia-project/Hyperdrive) API client. Hyperdrive will communicate to the [Polls API](http://github.com/apiaryio/polls-api) without any hard-coded knowledge about how the API is implemented, just an understanding of the semantics the API is using.\n\nThe application does this by learning how the API works at run-time. This can\nbe achived in one of two ways:\n\n- By downloading the [API specification](apiary.apib) in [API Blueprint](https://apiblueprint.org/) format.\n- Talking directly to an API that exposes it's features and transitions in the API, such as with the [Siren](https://github.com/kevinswiber/siren) hypermedia content type.\n\nBoth the API and the application support both of these ways, you can switch between these modes in the application settings.\n\n\u003cimg width=375 height=667 src=\"Screenshot.png\" alt=\"Screenshot of Polls iOS Application\" /\u003e\n\n### Quick Start\n\nYou will need to [install CocoaPods](http://guides.cocoapods.org/using/getting-started.html) and then run the following steps to checkout the project and install the dependencies.\n\n```\n$ git clone https://github.com/apiaryio/polls-app\n$ cd polls-app\n$ pod install\n$ open Polls.xcworkspace\n```\n\n### Architecture\n\nThis application uses the [MVVM (Model View View-Model)](http://en.wikipedia.org/wiki/Model_View_ViewModel) software architecture. Where each view controller has an appropriate view model which contains all of the model logic. The view model in this case will encapsulate the logic required to communicate to the API.\n\nThe Polls application is constructed from three view controllers and view models:\n\n- Question List - Shows a list of questions and may allow the user to create a new question or view the detail of a question.\n- Question Detail - Shows a specific question, and may allow a user to vote on the choices available on a question.\n- Create Question - Allows the user to create a new question in the API.\n\n#### API Root\n\nThe Polls iOS client can be configured to use any API root, or switch\nbetween connecting to a Hypermedia API or the JSON Polls API described\nvia an API Blueprint. You can switch between these modes by entering the\napplications settings.\n\nDefaults:\n\n- Hypermedia: `https://polls.apiblueprint.org/` - A hosted version of a Hypermedia Polls API.\n- API Blueprint: `https://raw.githubusercontent.com/apiaryio/polls-app/master/apiary.apib` - An API Blueprint found at this URL (hosted on GitHub in this repository).\n- Apiary: `pollsapp` - An API Blueprint hosted on Apiary.\n\n# License\n\nPolls is released under the MIT license. See [LICENSE](LICENSE).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapiaryio%2Fpolls-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapiaryio%2Fpolls-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapiaryio%2Fpolls-app/lists"}