Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Meditation Personal Transformation Life Purpose Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Google Analytics
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Modeling Data Analysis Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Blogging Freelancing Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Mobile Development Google Flutter

Flutter REST API Crash Course: Build a Coronavirus App

Build a Coronavirus Tracking App, and learn how to use REST APIs in Flutter
Rating: 4.6 out of 54.6 (379 ratings)
16,584 students
Created by Andrea Bizzotto
Last updated 10/2020
English
English [Auto]
30-Day Money-Back Guarantee

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

Course content

7 sections • 50 lectures • 2h 35m total length

  • Preview03:24
  • Preview04:51
  • Preview05:10
  • Preview04:28
  • Preview04:25
  • Useful Links & Resources
    00:04

  • Preview02:48
  • Preview01:14
  • Preview02:37
  • Preview03:32
  • Preview04:04
  • Preview02:47
  • Preview03:14
  • Preview02:01
  • Preview05:21
  • Preview03:51
  • Preview02:19
  • Useful Links & Resources
    00:18

  • The Data Repository
    02:44
  • Loading and refreshing the access token when needed
    02:50
  • Adding a Provider for the DataRepository
    02:58
  • Creating a basic dashboard UI
    03:47
  • Creating a custom card widget to show endpoint data
    04:01
  • Loading the initial endpoint data from the API
    02:28
  • Adding a refresh indicator
    02:25
  • Useful Links & Resources
    00:07

  • Loading data from multiple endpoints with Future.wait
    02:44
  • The EndpointsData class
    02:19
  • Improving the DataRepository class with generics and function arguments
    04:20
  • Showing all the cards
    02:56
  • Adding the icon assets to the project
    01:38
  • Update the cards layout, image and color
    06:17
  • Useful Links & Resources
    00:10

  • Showing when the data was last updated: client vs server approach
    01:10
  • Parsing date information from the API response data
    01:59
  • Creating a new data model to hold the date and value from the API
    03:19
  • Showing the last updated date in the UI
    02:30
  • Formatting dates with the intl package
    05:08
  • Add thousands' separators with the NumberFormat class
    02:14
  • Useful Links & Resources
    00:08

  • Error handling overview, and understanding the call stack
    06:17
  • Showing an alert dialog to the user
    05:21
  • Completing the error handling code
    03:19
  • Introduction to data persistence with Shared Preferences
    01:46
  • Writing a DataCacheService
    08:32
  • Integrating the DataCacheService in the DataRepository
    03:14
  • Injecting the DataCacheService in main.dart
    04:15
  • Hot fix: The getter 'date' was called on null
    05:08
  • Useful Links & Resources
    00:06

  • Conclusion & next steps
    02:20

Requirements

  • 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

Description

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.


Course organization

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.


Premium Support

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.


Prerequisites

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.


Teaching style

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.


Enroll Today

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)

Featured review

Simen Daehlin
Simen Daehlin
118 courses
15 reviews
Rating: 5.0 out of 59 months ago
Great course, a bit fast but was able to follow along and make it. Maybe a bit weird of use of endpoints and plural without explanation which can make it tough. I used the API version 2.0, and it worked fantastically well worth it—a great quick rundown on how to use authentication APIS etc.

Instructor

Andrea Bizzotto
Flutter GDE, Developer and Instructor
Andrea Bizzotto
  • 4.6 Instructor Rating
  • 2,842 Reviews
  • 24,308 Students
  • 3 Courses

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.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.