Build a Flutter Mobile App Using AWS Amplify - Part 1
Create a trip planner app for iOS and Android
Introduction: Build a Flutter mobile app using AWS Amplify
Overview
In this how-to guide, the first part of a two-part series, you will create a cross-platform Flutter mobile app using AWS Amplify. The app is a trip planner where users can create a trip and set its name, destination, and dates. Additionally, they can upload a banner image for the trip.
In the second guide of this series, you will add new features to the app, such as adding activities for the trips using a nested data model and creating the user's profile data using an Amplify function.
What you will accomplish
This how-to guide will walk you through the steps to create an app to help users plan trips. You will:
- Create a Flutter app using the terminal and structure its folders using the Feature-First approach where you will create a folder for every app’s feature.
- Use the Amplify CLI to create the Amplify backend for this app
- Add Amplify authentication capabilities to your app and use the Amplify Authenticator UI library
- Create a data model for the trips and use the GraphQL API to synchronize to the Amplify backend
- Add Amplify storage to your app to enable users to upload an image for their trips
Prerequisites
- An AWS account: If you don't already have an account, follow the Setting Up Your AWS Environment tutorial for a quick overview.
- Install and configure the Amplify CLI.
- Install and configure Flutter.
- A text editor combined with Flutter’s command-line tools. For this guide we will use VSCode, but you can use your preferred IDE.
AWS experience
Beginner
Time to complete
60 minutes
Cost to complete
Free Tier eligible
Requires
- An AWS account: If you don't already have an account, follow the Setting Up Your AWS Environment tutorial for a quick overview.
- Install and configure the Amplify CLI.
- Install and configure Flutter.
- A text editor combined with Flutter’s command-line tools. For this tutorial, we will use VSCode, but you can use your preferred IDE.
Services used
AWS Amplify
Last updated
August 23, 2023
Modules
This how-to guide is divided into the following short modules. You must complete each module before moving to the next one.
- Create a Flutter app (15 minutes): Create a Flutter app, add its dependencies, and create its folder structure. Additionally, you will also define the app colors and the routing constants.
- Add authentication (10 minutes): Create the Amplify backend for the app and implement authentication using the Amplify authenticator UI library.
- Add API (20 minutes): Create the Amplify GraphQL API for the app and implement the CRUD operation for the trip feature.
- Add storage (15 minutes): Create the Amazon S3 bucket for the app and implement the ability to upload an image for the trip.