Pular para o conteúdo

Guia de Início Rápido

Este guia orienta você pelos conceitos básicos de instalação e uso do @aws/nx-plugin para construir projetos rapidamente na AWS.

As seguintes dependências globais são necessárias antes de prosseguir:

  • Git
  • Node >= 22 (Recomendamos usar algo como NVM para gerenciar suas versões do node)
    • verifique executando node --version
  • UV >= 0.5.29
    1. instale o Python 3.14 executando: uv python install 3.14.0
    2. verifique com uv python list --only-installed

Execute o seguinte comando para criar um workspace Nx com o gerenciador de pacotes de sua escolha:

Terminal window
pnpm create @aws/nx-workspace my-project

Quando concluído, navegue até o diretório do projeto:

Terminal window
cd my-project

Passo 2: Usar Geradores para Estruturar seu Projeto

Seção intitulada “Passo 2: Usar Geradores para Estruturar seu Projeto”

Vamos adicionar uma API tRPC, um Website React, Autenticação Cognito e Infraestrutura CDK ou Terraform neste guia de início rápido. Dependendo do tipo de projeto que você está construindo, você pode escolher qualquer combinação de geradores para inicializar rapidamente seu projeto. Confira os Geradores na barra de navegação à esquerda para ver a lista completa de opções, ou experimente o construtor de grafos para construir seu workspace visualmente.

Como atalho, você pode usar o botão abaixo para copiar os comandos para estruturar a aplicação completa.

Loading the diagram…

Caso contrário, siga os passos abaixo para executar cada gerador você mesmo.

Terminal window
pnpm nx g @aws/nx-plugin:ts#api --name=demo-api --framework=trpc --auth=iam --no-interactive
Você também pode realizar uma execução simulada para ver quais arquivos seriam alterados
Terminal window
pnpm nx g @aws/nx-plugin:ts#api --name=demo-api --framework=trpc --auth=iam --no-interactive --dry-run

Isso criará a API dentro da pasta packages/demo-api.

Terminal window
pnpm nx g @aws/nx-plugin:ts#website --name=demo-website --no-interactive
Você também pode realizar uma execução simulada para ver quais arquivos seriam alterados
Terminal window
pnpm nx g @aws/nx-plugin:ts#website --name=demo-website --no-interactive --dry-run

Isso estrutura um novo website React em packages/demo-website.

Terminal window
pnpm nx g @aws/nx-plugin:ts#website#auth --project=@my-project/demo-website --cognitoDomain=my-demo --no-interactive
Você também pode realizar uma execução simulada para ver quais arquivos seriam alterados
Terminal window
pnpm nx g @aws/nx-plugin:ts#website#auth --project=@my-project/demo-website --cognitoDomain=my-demo --no-interactive --dry-run

Isso configura a infraestrutura necessária e o código React para adicionar Autenticação Cognito ao seu website.

Terminal window
pnpm nx g @aws/nx-plugin:connection --sourceProject=@my-project/demo-website --targetProject=@my-project/demo-api --no-interactive
Você também pode realizar uma execução simulada para ver quais arquivos seriam alterados
Terminal window
pnpm nx g @aws/nx-plugin:connection --sourceProject=@my-project/demo-website --targetProject=@my-project/demo-api --no-interactive --dry-run

Isso configura os provedores necessários para garantir que seu website possa chamar sua API tRPC.

Adicione o projeto de infraestrutura com base no seu provedor IAC escolhido.

Terminal window
pnpm nx g @aws/nx-plugin:ts#infra --name=infra --no-interactive
Você também pode realizar uma execução simulada para ver quais arquivos seriam alterados
Terminal window
pnpm nx g @aws/nx-plugin:ts#infra --name=infra --no-interactive --dry-run

Isso configura uma CDK App que você pode usar para implantar sua infraestrutura na AWS.

Use o seguinte comando para iniciar servidores de desenvolvimento locais para seu website e suas APIs conectadas:

Terminal window
pnpm dev

Seu website estará disponível em http://localhost:4200.

As alterações em seu website e API serão refletidas em tempo real, pois tanto o website local quanto os servidores de API farão hot-reload.

Passo 4: Definir Recursos na Nuvem e Implantar na AWS

Seção intitulada “Passo 4: Definir Recursos na Nuvem e Implantar na AWS”

Abra packages/infra/src/stacks/application-stack.ts e adicione o seguinte código:

import { Stack, StackProps } from 'aws-cdk-lib';
import { DemoApi, DemoWebsite, UserIdentity } from '@my-project/common-constructs';
import { Construct } from 'constructs';
export class ApplicationStack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
const identity = new UserIdentity(this, 'identity');
const api = new DemoApi(this, 'api', {
integrations: DemoApi.defaultIntegrations(this).build(),
});
api.grantInvokeAccess(identity.identityPool.authenticatedRole);
new DemoWebsite(this, 'website');
}
}

Isso é todo o CDK que precisamos escrever para implantar nossa aplicação full stack.

Em seguida, execute o seguinte comando para construir seu projeto:

Terminal window
pnpm build

Faça o bootstrap da sua infraestrutura:

Terminal window
pnpm nx bootstrap infra

Implante seu projeto:

Terminal window
pnpm nx deploy-sandbox infra

Passo 5: Testar o Website com Recursos na Nuvem Implantados

Seção intitulada “Passo 5: Testar o Website com Recursos na Nuvem Implantados”
  1. Busque o arquivo runtime-config.json:

    Terminal window
    pnpm nx load-runtime-config demo-website
  2. Inicie o servidor de website local

    Terminal window
    pnpm nx serve demo-website

Seu website estará disponível em http://localhost:4200 e apontará para os recursos que você implantou para a API e autenticação.


Parabéns! 🎉 Você construiu e implantou com sucesso uma aplicação full-stack usando @aws/nx-plugin!