{"id":23738039,"url":"https://github.com/ctarda/wordcamp","last_synced_at":"2026-05-04T14:43:16.697Z","repository":{"id":93348538,"uuid":"208482928","full_name":"ctarda/WordCamp","owner":"ctarda","description":"An iOS / iPadOS / watchOS / tvOS app to browse upcoming WordCamps","archived":false,"fork":false,"pushed_at":"2020-06-27T09:15:38.000Z","size":3374,"stargazers_count":3,"open_issues_count":6,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-31T08:51:54.555Z","etag":null,"topics":["combine-framework","ios","ios13","swiftui","watchos","wordcamp"],"latest_commit_sha":null,"homepage":"","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/ctarda.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":"2019-09-14T18:12:24.000Z","updated_at":"2024-01-22T05:53:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"96682d3d-58eb-42a7-882e-715762424548","html_url":"https://github.com/ctarda/WordCamp","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctarda%2FWordCamp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctarda%2FWordCamp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctarda%2FWordCamp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctarda%2FWordCamp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ctarda","download_url":"https://codeload.github.com/ctarda/WordCamp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239879312,"owners_count":19712176,"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":["combine-framework","ios","ios13","swiftui","watchos","wordcamp"],"created_at":"2024-12-31T08:51:32.824Z","updated_at":"2026-03-01T18:30:19.484Z","avatar_url":"https://github.com/ctarda.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WordCamp iOS\n\nWordCamp is a conference that focuses on everything WordPress.\n\nWordCamps are informal, community-organized events that are put together by WordPress users like you. Everyone from casual users to core developers participate, share ideas, and get to know each other.\n\nThis app, built using SwiftUI, presents  alist of Upcoming WordCamps.\n\n## Screenshots\n\nWordCamp list iOS\n\n\u003cimg src=\"/docs/images/wordcamp-list-iphone.png\" alt=\"WordCamp list iPhone\" width=\"250\"/\u003e\n\nWordCamp details iOS\n\n\u003cimg src=\"/docs/images/wordcamp-details-iphone.png\" alt=\"WordCamp details iPhone\" width=\"250\"/\u003e\n\nWorCamp List watchOS\n\n\u003cimg src=\"/docs/images/wordcamp_watchOS.png\" alt=\"WordCamp details iPhone\" width=\"200\"/\u003e\n\n## Architecture\n\nThis app is built using a traditional three layer architecture. \n\n\u003cimg src=\"/docs/images/architecture-overview.png\" alt=\"Architecture overview\" width=\"500\"/\u003e\n\n### Data transfer \n\nData is provided by an implementation of the `WordCampService` protocol, that uses the endpoint `https://central.wordcamp.org/wp-json/wp/v2/wordcamps` to fetch the list of upcoming WordCamps.\n\n### Business logic\n\nData obtained from the data transfer layer is prepared for presentation in `WordCampsViewModel`. Each WordCamp is prepared for presentation by an `EventViewModel`\n\n### UI\n\nThe list of WordCamps is rendered by `ScheduleList`, with each individual \"cell\" rendered by `WordCampListView` and the individual WordCamp details view is rendered by `WordCampDetail`\n\n[![Build Status](https://travis-ci.org/ctarda/WordCamp.svg?branch=master)](https://travis-ci.org/ctarda/WordCamp)\n![Tests](https://github.com/ctarda/WordCamp/workflows/Swift/badge.svg)\n![Documentation](https://github.com/ctarda/WordCamp/workflows/Documentation/badge.svg)\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctarda%2Fwordcamp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fctarda%2Fwordcamp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctarda%2Fwordcamp/lists"}