Skip to content

Commit

Permalink
chore(main): readme update (#5786)
Browse files Browse the repository at this point in the history
* updated readme to gen2 instructions

* updated formatting

* update formatting

* further formatting

* updated to ask users to use Gen 2
  • Loading branch information
ekjotmultani authored Dec 30, 2024
1 parent 0e2d03e commit 6e7a4f8
Showing 1 changed file with 49 additions and 90 deletions.
139 changes: 49 additions & 90 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ We are iterating and looking for feedback and collaboration, so please [**let us

⚠️ **Amplify Flutter v1 is now in Maintenance Mode until April 30th, 2025. This means that we will continue to include updates to ensure compatibility with backend services and security. No new features will be introduced in v1.**

Please use the latest version (v2) of Amplify Flutter. If you are currently using v1, follow [these instructions](https://docs.amplify.aws/lib/project-setup/upgrade-guide/q/platform/flutter/) to upgrade to v2.
Please use the latest version (Gen 2) of Amplify Flutter. If you are currently using v1, follow [these instructions](https://docs.amplify.aws/lib/project-setup/upgrade-guide/q/platform/flutter/) to upgrade to v2.

## Supported Amplify Libraries

Expand Down Expand Up @@ -56,9 +56,8 @@ We follow [semantic versioning for updating our dependencies](https://semver.org

## Documentation

- [Getting Started with Amplify Flutter](https://docs.amplify.aws/start/q/integration/flutter)
- [Getting Started with Amplify Flutter](https://docs.amplify.aws/flutter/start/quickstart/)
- [Amplify Framework](https://docs.amplify.aws/)
- [Install the Amplify CLI](https://docs.amplify.aws/lib/project-setup/prereq/q/platform/flutter#install-and-configure-the-amplify-cli)
- [Contributing to Amplify Flutter](CONTRIBUTING.md)

## Flutter Development Guide
Expand All @@ -68,116 +67,76 @@ Amplify for Flutter is an open-source project and welcomes contributions from th
#### Prerequisites

- [Flutter](https://flutter.dev/docs/get-started/install)
- [Amplify CLI](https://docs.amplify.aws/lib/project-setup/prereq/q/platform/flutter#option-1-watch-the-video-guide)
- Node.js v18.17 or later
- npm v9 or later

#### Getting Started Amplify Flutter
#### Getting Started With Amplify Flutter

1. Open your Flutter project. If you do not have an active Flutter project, you can create one after installing the [Flutter development tooling](https://flutter.dev/docs/get-started/install) and running `flutter create <project-name>` in your terminal.

2. Using the Amplify CLI, run `amplify init` from the root of your project:
2. Run the following to create an amplify project:

If you have not configured the Amplify CLI, check out our documentation at [Amplify CLI Installation](https://docs.amplify.aws/lib/project-setup/prereq/q/platform/flutter#install-and-configure-the-amplify-cli).
`npm create amplify@latest -y`

```bash
==> amplify init
Note: It is recommended to run this command from the root of your app directory
? Enter a name for the project <project-name>
The following configuration will be applied:
4. To use the Authenticator, you need to add the following dependencies to your project:

Project information
| Name: <project-name>
| Environment: dev
| Default editor: Visual Studio Code
| App type: flutter
| Configuration file location: ./lib/
```yaml
dependencies:
amplify_auth_cognito: ^2.0.0
amplify_authenticator: ^2.0.0
amplify_flutter: ^2.0.0
flutter:
sdk: flutter
```
? Initialize the project with the above configuration? Yes
Using default provider awscloudformation
? Select the authentication method you want to use: AWS profile
5. run `flutter pub get`

For more information on AWS Profiles, see:
https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html

? Please choose the profile you want to use default
```

4. Add Amplify categories (choose defaults for this example):

```bash
$ amplify add auth # Choose default configuration after entering this command in your terminal.
```

5. Push changes to the cloud to provision the backend resources:

```bash
$ amplify push
```

6. In your pubspec.yaml file, add the following to `dependencies`:

> Note: Do not include dependencies in your `pubspec` file that you are not using in your app. This can cause a configuration error in the underlying SDK.
```yaml
dependencies:
amplify_auth_cognito: ^2.0.0
amplify_authenticator: ^2.0.0
amplify_flutter: ^2.0.0
flutter:
sdk: flutter
```
7. From the terminal run
```bash
flutter pub get
```

8. In your main.dart file, add:
6. Update your main.dart file to the following:

```dart
import 'package:amplify_auth_cognito/amplify_auth_cognito.dart';
import 'package:amplify_authenticator/amplify_authenticator.dart';
import 'package:amplify_flutter/amplify_flutter.dart';
import 'package:flutter/material.dart';
import 'amplifyconfiguration.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
import 'amplify_outputs.dart';
class _MyAppState extends State<MyApp> {
@override
void initState() {
super.initState();
_configureAmplify();
Future<void> main() async {
try {
WidgetsFlutterBinding.ensureInitialized();
await _configureAmplify();
runApp(const MyApp());
} on AmplifyException catch (e) {
runApp(Text("Error configuring Amplify: ${e.message}"));
}
}
Future<void> _configureAmplify() async {
try {
await Amplify.addPlugin(AmplifyAuthCognito());
await Amplify.configure(amplifyconfig);
safePrint('Successfully configured');
} on Exception catch (e) {
safePrint('Error configuring Amplify: $e');
}
Future<void> _configureAmplify() async {
try {
await Amplify.addPlugin(AmplifyAuthCognito());
await Amplify.configure(amplifyConfig);
safePrint('Successfully configured');
} on Exception catch (e) {
safePrint('Error configuring Amplify: $e');
}
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return Authenticator(
child: MaterialApp(
builder: Authenticator.builder(),
home: const Scaffold(
body: Center(
child: Text('You are logged in!'),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SignOutButton(),
Text('TODO Application'),
],
),
),
),
),
Expand All @@ -186,17 +145,17 @@ class _MyAppState extends State<MyApp> {
}
```

9. Since Amplify Flutter supports 6 platforms with Flutter including iOS, Android, Web, and Desktop, some extra configuration may be required for each platform. Check out the [Platform Setup](https://docs.amplify.aws/lib/project-setup/platform-setup/q/platform/flutter/) guide to make sure you've completed the necessary steps.
7. Deploy your backend use Amplify's per-developer cloud sandbox. This feature provides a separate backend environment for every developer on a team, ideal for local development and testing. To run your application with a sandbox environment, you can run the following command:

10. Run `flutter run` to launch your app on the connected device.
`npx ampx sandbox --outputs-format dart --outputs-out-dir lib`

11. Once the app is loaded, tap on **Configure Amplify**, then on **Record Event** a few times.
8. Since Amplify Flutter supports 6 platforms with Flutter including iOS, Android, Web, and Desktop, some extra configuration may be required for each platform. Check out the [Platform Setup](https://docs.amplify.aws/flutter/start/platform-setup/) guide to make sure you've completed the necessary steps.

12. To see the events you recoded, run `amplify console analytics`. This will open the Amazon Pinpoint console for your project in your default web browser. Within about a minute you should start seeing the events populating in the Events section of then Pinpoint console.
9. Run `flutter run` to launch your app on the connected device.

Congratulations, you've built your first Amplify app! 🎉

For further documentation and Amplify Category usage, see the [documentation](https://docs.amplify.aws/lib/q/platform/flutter).
For further documentation and Amplify Category usage, see the [documentation](https://docs.amplify.aws/flutter/).

---

Expand Down

0 comments on commit 6e7a4f8

Please sign in to comment.