- Run the template from
/extra/cloudformation/default-unauth-resources-template.yaml
to create a cloudformation stack on AWS inus-east-1
region using your own AWS account and getIdentityPoolId
,PinPointAppId
,WebSocketUrl
from stack output's tab.IdentityPoolId
value will be added to.env
file againstVITE_AWS_COGNITO_IDENTITY_POOL_IDS
andVITE_PINPOINT_IDENTITY_POOL_ID
.PinPointAppId
value will be added to.env
file againstVITE_PINPOINT_APPLICATION_ID
.WebSocketUrl
value will be added to.env
file againstVITE_AWS_WEB_SOCKET_URLS
.
- Run the template from
/extra/cloudformation/default-unauth-resources-template.yaml
to create a cloudformation stack on AWS inap-southeast-1
region using your own AWS account and getIdentityPoolId
,WebSocketUrl
from stack output's tab [Necessary if you want GrabMaps to be enabled].IdentityPoolId
value will be added to.env
file againstVITE_AWS_COGNITO_IDENTITY_POOL_IDS
(comma separated for multiple values).WebSocketUrl
value will be added to.env
file againstVITE_AWS_WEB_SOCKET_URLS
(comma separated for multiple values).
- Value for
VITE_AWS_CF_TEMPLATE
,VITE_APPLE_APP_STORE_LINK
,VITE_GOOGLE_PLAY_STORE_LINK
can be added as it is to.env
file from.env.examples
. - Value for
VITE_APP_VERSION
needs to be populated with the correct version at the time of deployment in the following format2.1.0
. - Values for
VITE_MIGRATE_FROM_GOOGLE_MAPS_PAGE
,VITE_MIGRATE_A_WEB_APP_PAGE
,VITE_MIGRATE_AN_ANDROID_APP_PAGE
,VITE_MIGRATE_AN_IOS_APP_PAGE
,VITE_MIGRATE_A_WEB_SERVICE_PAGE
andVITE_PRICING_PAGE
can either be1
or0
to either enable or disable the respective pages. - Values for
VITE_SHOW_NEW_NAVIGATION
can either be1
or0
to either enable or disable the new navigation, turning it off would show the current navigation instead.
VITE_AWS_COGNITO_IDENTITY_POOL_IDS
VITE_AWS_WEB_SOCKET_URLS
VITE_PINPOINT_IDENTITY_POOL_ID
VITE_PINPOINT_APPLICATION_ID
VITE_AWS_CF_TEMPLATE
VITE_APPLE_APP_STORE_LINK
VITE_GOOGLE_PLAY_STORE_LINK
VITE_APP_VERSION
VITE_MIGRATE_FROM_GOOGLE_MAPS_PAGE
VITE_MIGRATE_A_WEB_APP_PAGE
VITE_MIGRATE_AN_ANDROID_APP_PAGE
VITE_MIGRATE_AN_IOS_APP_PAGE
VITE_MIGRATE_A_WEB_SERVICE_PAGE
VITE_PRICING_PAGE
VITE_SHOW_NEW_NAVIGATION
VITE_NL_BASE_URL
VITE_NL_API_KEY
git clone <REPO_URL>
cd amazon-location-features-demo-web/
npm install
npm run dev
Installs all the dependencies.
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
WEB_DOMAIN
WEB_DOMAIN_USERNAME
WEB_DOMAIN_PASSWORD
IDENTITY_POOL_ID
USER_DOMAIN
USER_POOL_CLIENT_ID
USER_POOL_ID
WEB_SOCKET_URL
COGNITO_EMAIL
COGNITO_PASSWORD
PINPOINT_IDENTITY_POOL_ID
PINPOINT_APPLICATION_ID
If you are configuring Github actions for the E2E tests, make sure to add the below env keys to the secrets section of the repo.
- The
/extra/cloudformation/main-cf-template.yaml
needs to be deployed on one of the production accounts in theus-east-1
region. - Download this
/extra/cloudformation/main-cf-template.yaml
on local machine. - Login to AWS console.
- Go to CloudFormation service.
- Click on Create Stack → Upload a Template file → Select the template file downloaded above.
- Click Next → Enter your email → Next → Create the stack.
- Once, the stack is created → Go to outputs of the stack & Copy them all.
- Now, Browse to Github amazon-location-features-demo-web repo.
- Under the repo settings → Go to Secrets & Variables → Click on Actions.
- Now, Add/Update the values in secrets as per the output values gathered from the cloudformation.
- Add all keys from
.env
file to the secrets section of the repo as well from the above Requirements section.
> WEB_DOMAIN: "http://localhost:3000"
> WEB_DOMAIN_USERNAME: "XXXXX" // This is the username for the web domain (only required for dev and qa environments, not needed for prod environment)
> WEB_DOMAIN_PASSWORD: "XXXXX" // This is the password for the web domain (only required for dev and qa environments, not needed for prod environment)
> IDENTITY_POOL_ID: "XX-XXXX-X:XXXXXXXX-XXXX-1234-abcd-1234567890ab" // Stack output as IdentityPoolId
> USER_DOMAIN: "https://XXXXXXXXXXXX.XXXX.XX-XXXX-X.amazoncognito.com/" // Stack output as UserDomain
> USER_POOL_CLIENT_ID: "XXXXXXXXXXXX" // Stack output as UserPoolClientId
> USER_POOL_ID: "XX-XXXX-X_XXXXXXXXXX" // Stack output as UserPoolId
> WEB_SOCKET_URL: "XXXXXXXXXXX-ats.iot.us-east-1.amazonaws.com" // Stack output as WebSocketUrl
> COGNITO_EMAIL: "abc@xyz.com" // Stack output as UserEmail
> COGNITO_PASSWORD: "XXXXXX" // This is the password for the cognito user (received on registered email)
> VITE_AWS_COGNITO_IDENTITY_POOL_IDS
> VITE_AWS_WEB_SOCKET_URLS
> VITE_PINPOINT_IDENTITY_POOL_ID
> VITE_PINPOINT_APPLICATION_ID
> VITE_AWS_CF_TEMPLATE
> VITE_APPLE_APP_STORE_LINK
> VITE_GOOGLE_PLAY_STORE_LINK
> VITE_DATA_FILES_URL
> VITE_SAMPLES_LIST_FILENAME
> VITE_APP_VERSION
> VITE_MIGRATE_FROM_GOOGLE_MAPS_PAGE
> VITE_MIGRATE_A_WEB_APP_PAGE
> VITE_MIGRATE_AN_ANDROID_APP_PAGE
> VITE_MIGRATE_AN_IOS_APP_PAGE
> VITE_MIGRATE_A_WEB_SERVICE_PAGE
> VITE_PRICING_PAGE
> VITE_CUSTOM_ASSETS_URL
> VITE_SHOW_NEW_NAVIGATION
Runs Cypress tests to completion in a headed chrome browser.
IDENTITY_POOL_ID
USER_POOL_ID
USER_POOL_CLIENT_ID
COGNITO_EMAIL
COGNITO_PASSWORD
IAM_AUTH_ROLE_NAME
IAM_UNAUTH_ROLE_NAME
If you are configuring Github actions for the Security tests, make sure to add the below env keys to the secrets section of the repo. You will need to use the values from the stack that was created when setting up the E2E tests.
> IDENTITY_POOL_ID: "XX-XXXX-X:XXXXXXXX-XXXX-1234-abcd-1234567890ab" // Stack output as IdentityPoolId
> USER_POOL_ID: "XX-XXXX-X_XXXXXXXXXX" // Stack output as UserPoolId
> USER_POOL_CLIENT_ID: "XXXXXXXXXXXX" // Stack output as UserPoolClientId
> COGNITO_EMAIL: "abc@xyz.com" // Stack output as UserEmail
> COGNITO_PASSWORD: "XXXXXX" // This is the password for the cognito user (received on registered email)
> IAM_AUTH_ROLE_NAME: "amazon-location-resources-AmazonLocationDemoCognit-XXXXXXXX" // Stack output as IAMAuthRoleName
> IAM_UNAUTH_ROLE_NAME: "amazon-location-resources-AmazonLocationDemoCognit-XXXXXXXX" // Stack output as IAMUnAuthRoleName
Runs Security tests insuring policies match the expected values.
VITE_PINPOINT_IDENTITY_POOL_ID
VITE_PINPOINT_APPLICATION_ID
If you are configuring Github actions for the Unit tests, make sure to add the below env keys to the secrets section of the repo. You will need to use the values from the stack that was created when setting up the app env in the very first step (These should already exist if you have setup secrets for E2E tests).
> VITE_PINPOINT_IDENTITY_POOL_ID: "XX-XXXX-X:XXXXXXXX-XXXX-1234-abcd-1234567890ab" // Same as VITE_PINPOINT_IDENTITY_POOL_ID
> VITE_PINPOINT_APPLICATION_ID: "XXXXXXXX" // Same as VITE_PINPOINT_APPLICATION_ID
Run all the test cases for all the components within the repo.
Run all the test cases for all the components within the repo and provides a coverage report.
See CONTRIBUTING for more information.
The best way to interact with our team is through GitHub. You can open an issue and choose from one of our templates for bug reports, feature requests or guidance. If you have a support plan with AWS Support, you can also create a new support case.
We welcome community contributions and pull requests. See CONTRIBUTING.md for information on how to set up a development environment and submit code.
This library is licensed under the MIT-0 License. See the LICENSE file.