Skip to content

Conversation

@UnleashedMind
Copy link
Contributor

No description provided.

@UnleashedMind UnleashedMind changed the title Concept and how it works Doc for Hosting Oct 5, 2018
@UnleashedMind UnleashedMind changed the title Doc for Hosting Doc for Concept and Hosting Oct 5, 2018
@UnleashedMind UnleashedMind changed the title Doc for Concept and Hosting Docs for Concept and Hosting Oct 5, 2018
@UnleashedMind UnleashedMind changed the title Docs for Concept and Hosting Docs for Concepts and Hosting Oct 5, 2018
cli/concept.md Outdated
@@ -0,0 +1,157 @@
# Overview
The Amplify cli enables front-end developers to easily set up the backend resources in the cloud. <br/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CLI should be in caps everywhere in the doc. Also use "AWS Amplify CLI toolchain" at least once in the beginning of every document then you can reduce to "Amplify CLI" after that.

cli/concept.md Outdated
@@ -0,0 +1,157 @@
# Overview
The Amplify cli enables front-end developers to easily set up the backend resources in the cloud. <br/>
It is designed to work side by side with the [Amplify](https://github.com/aws-amplify/amplify-js) library. Official resource categories provided by the cli can be easily consumed by the corresponding Amplify library modules. <br/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

replace with "It is designed to work with the AWS Amplify JavaScript library as well as the AWS Mobile SDKs for iOS and Android.

cli/concept.md Outdated
@@ -0,0 +1,157 @@
# Overview
The Amplify cli enables front-end developers to easily set up the backend resources in the cloud. <br/>
It is designed to work side by side with the [Amplify](https://github.com/aws-amplify/amplify-js) library. Official resource categories provided by the cli can be easily consumed by the corresponding Amplify library modules. <br/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

replace with "Resources in your AWS account that the Amplify CLI category commands create can be easily consumed by the corresponding Amplify library modules or native SDKs."

cli/concept.md Outdated
# Overview
The Amplify cli enables front-end developers to easily set up the backend resources in the cloud. <br/>
It is designed to work side by side with the [Amplify](https://github.com/aws-amplify/amplify-js) library. Official resource categories provided by the cli can be easily consumed by the corresponding Amplify library modules. <br/>
The Amplify cli is written in Node.js. It has a pluggable architecture and can be easily extended with additional functionalities.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please link to the plug-in guide that Kaustav has added.

cli/concept.md Outdated
# Architecture
![](https://github.com/UnleashedMind/docs/blob/master/cli/images/AmplifyCliConcept.jpg)
## Cli core and plugins
The Amplify cli uses `gluegun`. It is highly modularized. <br/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Link to gluegun documentation

cli/concept.md Outdated
![](https://github.com/UnleashedMind/docs/blob/master/cli/images/AmplifyCliConcept.jpg)
## Cli core and plugins
The Amplify cli uses `gluegun`. It is highly modularized. <br/>
The cli core provides the pluggable platform, most of the cli functionalities are delivered by plugins. <br/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

replace with "The CLI core provides the pluggable platform, and most of the CLI category functions are implemented as plugins."

cli/concept.md Outdated
The cli core provides the pluggable platform, most of the cli functionalities are delivered by plugins. <br/>
The cli core searches for plugins in the global `node_modules` directory, and its own `node_modules` directory. <br/>
Plugins are recognized by the `amplify-` prefix in the package names. <br/>
Plugins communicate with the cli core, and with each other, through the project metadata. The cli core provides the read and write access to the project metadata for the plugins. The project metadata is stored in file `amplify/backend/amplify-meta.json` in the user project.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have a link to the project meta data? If so please link otherwise briefly describe it here.

cli/concept.md Outdated
- frontend
- general purpose
### category plugin
Recognized by the `amplify-category-` prefix in the package name, a category plugin wraps up the logic to create and manage one category of backend resources in the cloud. It defines the "shape" of the cloud resources based on user (the developer) input, constructs parameters to CRUD cloud resource, and exports relevant cloud resource information to the project metadata.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the following statement in on a new line: "Categories are managed by AWS and are functional use case that a client engineer is building as part of their UX, rather than service implementations."

- amplify-frontend-ios
- amplify-provider-awscloudformation

## Third party plugin setup
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this needs a little more detail. Is this the plugin that Kaustav made a doc for?

Copy link
Contributor Author

@UnleashedMind UnleashedMind Oct 8, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added link to Kaustav's doc

cli/concept.md Outdated
### amplify configure project
This command allows the user to change the project configuration set during the init process.

# The Amplify cli artifacts
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't we also have a GraphQL file(s) that are created as metadata in addition to the schema?

cli/hosting.md Outdated

# Overview
The `amplify publish`command is designed to build and publish both the backend and the frontend of the project. Depending on the stage that the project is at, the command can be configured to publish either to a Dev or a Prod environment.<br/>
In the current implementation, the frontend publish is only available for javascript project for static web hosting. This is acomplished by the category plugin amplify-category-hosting, using Amazon S3 and CloudFront. <br/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JavaScript

cli/hosting.md Outdated
The `amplify publish`command is designed to build and publish both the backend and the frontend of the project. Depending on the stage that the project is at, the command can be configured to publish either to a Dev or a Prod environment.<br/>
In the current implementation, the frontend publish is only available for javascript project for static web hosting. This is acomplished by the category plugin amplify-category-hosting, using Amazon S3 and CloudFront. <br/>
The amplify-category-hosting module uses the amplify-provider-awscloudformation to create and update the S3 and CloudFront resources.
For more information of the Amazon S3 and CloudFront, check their docs:<br/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazon CloudFront

cli/hosting.md Outdated
- Prod: S3 and CloudFront

The CloudFront can be added or removed by the `amplify hosting configure` command. <br/>
It take a long time to create and update the CloudFront in the cloud, easily 15 minutes and above, so it is generally not recommended to add CloudFront during the Dev stage.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rewording:

CloudFront can be added or removed in your project at any time by the amplify hosting configure command.
It can take time to create and replicate a CloudFront Distribution across the global CDN footprint, in some cases 15 minutes or more. Therefore the Amplify CLI provides a DEV configuration with an S3 static site only only when prototyping your application and a PROD configuration when you are ready to deploy in production. Note that the DEV stage using S3 static sites does not have full HTTPS end to end so it is only recommended for prototyping your app.

cli/hosting.md Outdated
@@ -0,0 +1,34 @@

# Overview
The `amplify publish`command is designed to build and publish both the backend and the frontend of the project. Depending on the stage that the project is at, the command can be configured to publish either to a Dev or a Prod environment.<br/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use caps DEV and PROD everywhere in this doc.

Copy link
Contributor

@undefobj undefobj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left comments in both files. Please address and then I recommend that you compare with Kaustav's docs to minimize duplication as maintaining information in two places may lead to inaccurate documentation in the future when things change.

@UnleashedMind
Copy link
Contributor Author

I have updated the two docs to following Richard's comments, please check again. @undefobj @mlabieniec

Copy link
Contributor

@undefobj undefobj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Latest changes look good to me. Let's publish.

@mlabieniec mlabieniec merged commit 83a104a into aws-amplify:master Oct 9, 2018
haverchuck added a commit to haverchuck/docs that referenced this pull request Aug 19, 2020
sammartinez pushed a commit that referenced this pull request Aug 19, 2020
* chore: begin adding flutter docs

* Prepare basic Flutter Docs Framework

* Basic Flutter Analytics Module Docs

Incomplete, some parts are unclear and need to wait further clarification

* Minor Doc Feedback Changes

# Conflicts:
#	client/src/components.d.ts

* initial docs for signIn, signUp and confirmSignUp

* add dart language support

* spelling issues

* feat(flutter): password management, hubEvents, confirmation, signOut and signIn

* add try catches

* added credential page

* cr suggestions

* user attributes section for flutter

* param name correction

* fix(amplify-flutter) interface changes and credential clarification

* Initial SampleApp Docs PR

This is the guide that goes along with the SampleApp PR on the main amplify-flutter branch.

Please note that we are still waiting for Storage to be completed to finalize the sample app and the docs.

This initial commit is meant to give you a general idea of how the sample apps docs will be constructed and to give you the opportunity to give feedback before we finalize more.

# Conflicts:
#	client/src/components.d.ts
#	cspell.json

* Add Flutter Disclaimer

* Finalize Docs for Sample App

Sample App
- update Auth API
- add Analytics API

- Unresolved Docs Issues:
    - Storage API usage in Sample App
    - Final Storage API?
    - Final name of package for Pubspec?
    - Amplify CLI instructions not tested
        - Where is amplifyconfiguration.dart file placed?
    - Asking Harry how to remove API (GraphQL) and Datastore
    - READ THROUGH

* EscapeHatch + ExistingResources

* SDK -> Library

* Fix dependency

* Simplify GettingStarted Docs

- Support basic starter app for Android

* Minor Fixes

* Remove GraphQL - DataStore Flutter Sections

* feat(amplify-flutter) storage docs (#2)

* storage flutter docs

* content updates

* feat(amplify-flutter) project setup section (#6)

* getting started section for flutter
Co-authored-by: Sam Martinez  <sammartinez19@gmail.com>

* Minor Fixes Docs

- Update dependencies to   amplify_core: '<1.0.0'
- Remove New keyword in category getting started
- Add Amplify Init instructions

# Conflicts:
#	docs/lib/analytics/fragments/flutter/getting-started/30_initAnalytics.md
#	docs/lib/auth/fragments/flutter/getting_started/30_initAuth.md

* PR comment fixes

* adding jest snapshots (#7)

* remove commented out md (#8)

Co-authored-by: Solovay <hsolova@3c22fbbe0c1f.ant.amazon.com>
Co-authored-by: Kyle <kylcheng@gmail.com>
Co-authored-by: Noyes <dnnoyes@3c22fb0f428c.ant.amazon.com>
Co-authored-by: mlabieniec <michaellabieniec@gmail.com>
mlabieniec added a commit that referenced this pull request Feb 13, 2021
```
E/flutter (30435): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'Map<String, String>'
E/flutter (30435): #0      new CognitoSignUpOptions (package:amplify_auth_cognito/src/CognitoSignUp/CognitoSignUpOptions.dart:20:87)
E/flutter (30435): #1      SignUpState._signUp (package:AwsAmplifySample/components/signUp.dart:29:20)
E/flutter (30435): #2      SignUpState.build.<anonymous closure> (package:AwsAmplifySample/components/signUp.dart:190:35)
E/flutter (30435): #3      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:993:19)
E/flutter (30435): #4      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:1111:38)
E/flutter (30435): #5      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:183:24)
E/flutter (30435): #6      TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:598:11)
E/flutter (30435): #7      BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:287:5)
E/flutter (30435): #8      BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:259:7)
E/flutter (30435): #9      GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:157:27)
E/flutter (30435): #10     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:362:20)
E/flutter (30435): #11     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:338:22)
E/flutter (30435): #12     RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:267:11)
E/flutter (30435): #13     GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:295:7)
E/flutter (30435): #14     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:240:7)
E/flutter (30435): #15     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:213:7)
E/flutter (30435): #16     _rootRunUnary (dart:async/zone.dart:1206:13)
E/flutter (30435): #17     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
E/flutter (30435): #18     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005:7)
E/flutter (30435): #19     _invoke1 (dart:ui/hooks.dart:265:10)
E/flutter (30435): #20     _dispatchPointerDataPacket (dart:ui/hooks.dart:174:5)
E/flutter (30435): 
```

If `dynamic` is used
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants