{"id":13512438,"url":"https://github.com/dyerc/Doughnut","last_synced_at":"2025-03-30T22:32:49.041Z","repository":{"id":37867436,"uuid":"54191905","full_name":"dyerc/Doughnut","owner":"dyerc","description":"Podcast client (podcatcher) for Mac","archived":false,"fork":false,"pushed_at":"2023-01-02T05:22:29.000Z","size":14183,"stargazers_count":221,"open_issues_count":29,"forks_count":22,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-24T01:32:17.435Z","etag":null,"topics":["doughnut","macos","podcast","podcast-aggregator","podcast-client","swift"],"latest_commit_sha":null,"homepage":"https://doughnutapp.com","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dyerc.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":"2016-03-18T10:04:29.000Z","updated_at":"2025-03-16T13:19:15.000Z","dependencies_parsed_at":"2023-02-01T02:01:14.354Z","dependency_job_id":null,"html_url":"https://github.com/dyerc/Doughnut","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyerc%2FDoughnut","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyerc%2FDoughnut/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyerc%2FDoughnut/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyerc%2FDoughnut/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dyerc","download_url":"https://codeload.github.com/dyerc/Doughnut/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246390878,"owners_count":20769476,"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":["doughnut","macos","podcast","podcast-aggregator","podcast-client","swift"],"created_at":"2024-08-01T03:01:51.767Z","updated_at":"2025-03-30T22:32:44.026Z","avatar_url":"https://github.com/dyerc.png","language":"Swift","readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"./Assets/icon.png\" alt=\"Doughnut\" width=\"200\"\u003e\n  \u003cbr\u003e\n  Doughnut\n  \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003ePodcast app. For Mac.\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/serhii-londar/open-source-mac-os-apps#podcast\"\u003e\u003cimg src=\"https://awesome.re/mentioned-badge.svg\" alt=\"Mentioned in Awesome\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/dyerc/Doughnut/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/release/dyerc/doughnut.svg\" alt=\"Github Release\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ccode\u003ebrew install --cask doughnut\u003c/code\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/dyerc/Doughnut/master/screenshot.png?v=2\" align=\"center\" alt=\"screenshot\" style=\"max-width:100%;\" /\u003e\n\u003c/p\u003e\n\nDoughnut is a podcast client built using Swift. The design and user experience are inspired by Instacast for Mac which was discontinued in 2015. After experimenting with alternate user interface layouts, I kept coming back to the three column layout as most useable and practical.\n\nBeyond the standard expected podcast app features, my goals for the project are:\n- [x] Support an iTunes style library that can be hosted on an internal or network shared drive \n- [x] Ability to favourite episodes\n- [x] Ability to create podcasts without a feed, for miscellaneous releases of discontinued podcasts\n\nPreviously Doughnut was built on top of Electron which worked ok, but using 200+ MB for a podcast app, even when it's minimized felt very poor. Doughnut is now written as a 100% native MacOS app in Swift.\n\n## How to Contribute\n\n### Local Environments\n\n* Xcode 12.2+, latest stable release is recommended, but not required.\n\n* Install [SwiftLint](https://github.com/realm/SwiftLint).\n\n  ```shell\n  brew install swiftlint\n  ```\n\n### Get the code\n\n```\n$ git clone git@github.com:dyerc/Doughnut.git\n$ cd Doughnut\n$ pod install\n$ open Doughnut.xcworkspace\n```\n","funding_links":[],"categories":["Swift","Applications","Podcast"],"sub_categories":["Podcast","Text","📦 Podcast (7)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyerc%2FDoughnut","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdyerc%2FDoughnut","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyerc%2FDoughnut/lists"}