So our goal is going to be creating a podcast application. Let's go over what will power the application, and what tools we'll start out with.
What We're Building
My goal with this blog and video series is to demonstrate real app development. My current weapon of choice is Flutter. You can check out my post https://whitewhiskywolf.com/welcome-to-white-whisky-wolf/ for more about me and what I'm about.
I do intend to publish the app when it's ready for that. We're going to start with a basic podcast system where you can follow podcasts and download them locally. After we get this basic version we'll look at using Firebase to save favorites to the cloud. The app will have ads, with the option to remove for a (cheap) monthly cost.
Of course everything will be open source. While my API keys and such will be hidden, you will be more than welcome to build it yourself with any modifications, or follow along this series to build it. The app will be found at https://github.com/cadaniel/FCast
I will make some basic assumptions about your development knowledge. Basic programing knowledge will be a must, along with having the flutter tools installed.
If you are completely new to programing, I recommend heading over to https://www.reddit.com/r/learnprogramming/ and checkout the resources there.
While not strictly needed, I strongly recomend having the basics down in Flutter. I'll try and explain my reasoning as I go, but my focus is teaching how to put a project together, rather than specifics on Flutter itself. If you want to learn flutter, the course https://www.udemy.com/course/flutter-bootcamp-with-dart/ seems to be a popular starting point. Udemy has frequent sales so if it's full price for you, just hold off a little (or try a new account).
If you just want to dive in with me, https://flutter.dev/ will go over how to install flutter, and the provided codelabs will help you understand the basics as well, though not in as much detail as the course above.
We're going to be using the listen notes API. More details can be found at https://www.listennotes.com/api/
This will prevent us from having to develop our own backend to search for podcasts. While we will probably explore full stack development later on with other application, we're just starting off with a Flutter app.
This API will give us podcast links, and even power suggestions. Best of all, it's free to start.
My IDE of choice is Intellij. There are a few options out there, but I'm most familiar with the keybindings of Intellij from my time as a Java backend developer. Visual Studio is another popular option, and is perfectly reasonable to try.
Now let's talk CI/CD, or continuous integration, continuous development. This is a concept that you should always be checking and deploying your code to at least beta.
For this I'll be using Code Magic, as well as Github Actions. Github Actions will be used to check unit tests on every commit/PR. Last thing we want to do is make breaking changes that we didn't intend. Code Magic will be responsible for creating app builds configured with the correct enviroments. I'll go over how to set this up when the time comes.
As we develop the application, I will be distributing the Android and iOS apps. If you want to be a part of this, sign up at http://eepurl.com/hgeTzL
Follow The Series
Want to receive emails when these blogs go live? Sign Up Below!