flutter-wordpress-podcast icon indicating copy to clipboard operation
flutter-wordpress-podcast copied to clipboard

White label podcast app based on Wordpress API using Flutter framework.

Flutter Wordpress Podcast

White label podcast app based on Wordpress API using Flutter framework.

ko-fi

Preview

screenshot

Apps

Thinkerview - Android - iOS & macOS

Cause Commune - Android - iOS & macOS

Roadmap

Already existing and planned features

  • [x] Dark mode support
  • [x] Test widgets and cubits
  • [x] Recommended books for Thinkerview - markdown screen
  • [x] Play audio in the background and respond to controls on the lockscreen, media notification, headset
  • [x] Audio playback when leaving app
  • [x] Search
  • [x] Env config / scripts - white label apps
  • [x] Log crash/bugs to Sentry
  • [x] Image caching
  • [x] Episode detail - Fact checking for Thinkerview
  • [ ] Stream live radio
  • [ ] Refactor into smaller widgets
  • [ ] Tests
  • [ ] localization - i18
  • [ ] Categories screen
  • [ ] Chromecast / Airplay
  • [ ] Download podcast / offline mode
  • [ ] share episode with friend / deep-linking to open a specific episode
  • [ ] AndroidAuto / CarPlay

App tested and working on :

  • [x] iOS
  • [x] Android
  • [x] macOS
  • [ ] Linux
  • [ ] Windows
  • [ ] Web

Getting started

Create .env file with APP=causecommune or APP=thinkerview inside and DSN=yourSecretDSNfromSentry.

Run the app

flutter pub get

Android & iOS :

flutter run --flavor CauseCommune

flutter run --flavor Thinkerview

macOS :

flutter run -d macos

Since flavors aren't supported by Flutter on macOS, there are some manual tasks in order to run and archive the app.

In Project -> Runner -> Info -> Configurations select for both Debug & Release either Cause Commune or Thinkerview in the Runner configuration set. Then Clean Build Folder inside Product menu of Xcode.

Build app

Android :

flutter build appbundle --flavor thinkerview

flutter build appbundle --flavor causecommune

iOS and macOS, select project and archive on Xcode or :

flutter build ios --flavor=Thinkerview

flutter build ios --flavor=CauseCommune