Flutter REST API Crash Course: Build a Coronavirus App
What you'll learn
- Build a simple, yet complete Coronavirus tracking application using REST APIs
- Good app architecture: learn how to structure your code and keep it modular
- Attention to detail and emphasis on writing a production-ready app
- Familiarity with the Dart programming language
- Prior Flutter knowledge: stateless and stateful widgets, common UI widgets
- Flutter installed on the system
- VS Code or Android Studio, configured for Flutter development
Welcome to this crash course, where you will learn how to use REST APIs with Dart and Flutter.
I created this course because REST APIs are used everywhere in today's web. And if you master the basics of the Dart http library, you can write Flutter apps that can tap into thousands of web APIs.
In this crash course you will build a simple but completely functional Coronavirus tracker application in Flutter.
Included in this course
- Short introduction to REST: what it is and how it works.
- Overview of the nCoV 2019 health API. This is used to fetch global data about the Coronavirus outbreak.
- Api keys & access tokens: what they are and how to use them.
- REST Client: a VSCode extension that you can use to send HTTP requests and view the response directly in VS Code.
- Design a REST API service using the Dart http package.
- Make requests and parse the JSON response data into strongly-typed model classes.
- Build a dashboard UI with nice-looking cards that show the data from the API.
- Combine multiple API requests into a single response by using futures.
- Use a RefreshIndicator to get updated data from the API.
- Error handling, and how to show alert dialogs to the user.
- Data caching with Shared Preferences, so that the data is saved on device for offline use.
Most importantly, you will learn about good app architecture as a way to structure our code and keep it modular.
This course is all about mastering the basics. It covers many important topics, with attention to detail, and emphasis on how to write a production-ready app.
By the end of this course, you will be able to build Flutter apps that connect with any other REST API that you want to use.
The course follows a linear structure, and shows how to build a fully functional application from scratch.
The content is divided into multiple sections, each covering a specific topic in detail.
Full source code is provided for each lesson, and the entire project is available on GitHub.
Beyond all the video content, premium support is included, so that you can ask questions if you get stuck. I'll do my best to answer all questions within 24 hours - but please keep them relevant to the course material.
This course is NOT for absolute beginners.
- You should already be familiar with the Dart Language. If you are not, you can follow my introduction to Dart, which is available for free on my YouTube channel.
- You should already have Flutter installed on your system, and Visual Studio Code or Android Studio configured for Flutter development.
- You should already have some knowledge of the most common Flutter widgets, and understand the difference between stateful and stateless widgets.
This is a fast-paced crash course. We will build a full application from scratch, but I will not explain every single step in detail. Instead, I will focus on the most important concepts, and always explain what we're going to build and why, and then how to do it.
If you want to learn how to build maintainable Flutter apps using REST APIs, and become a better software engineer, then this course is for you.
I'm very excited to share this course with you, so enroll now to get started.
Who this course is for:
- Beginner and intermediate-level Flutter developers (this course is NOT for absolute beginners)
I have extensive experience in mobile app development, having built complex apps for various clients and as an independent developer. I'm passionate about open source, teaching, and all things Flutter. In 2018, I started Code With Andrea, along with a YouTube channel and a blog, where I regularly share new articles and videos. All my learning materials have been very well received by new students and the Flutter community.